diff mbox series

[v5,24/24] wfx: get out from the staging area

Message ID 20210315132501.441681-25-Jerome.Pouiller@silabs.com
State New
Headers show
Series wfx: get out from the staging area | expand

Commit Message

Jérôme Pouiller March 15, 2021, 1:25 p.m. UTC
From: Jérôme Pouiller <jerome.pouiller@silabs.com>

The wfx driver is now mature enough to leave the staging area.

Signed-off-by: Jérôme Pouiller <jerome.pouiller@silabs.com>
---
 MAINTAINERS                          |  3 ++-
 drivers/net/wireless/Kconfig         |  1 +
 drivers/net/wireless/Makefile        |  1 +
 drivers/net/wireless/silabs/Kconfig  | 18 ++++++++++++++++++
 drivers/net/wireless/silabs/Makefile |  3 +++
 drivers/staging/Kconfig              |  2 --
 drivers/staging/Makefile             |  1 -
 drivers/staging/wfx/TODO             |  6 ------
 8 files changed, 25 insertions(+), 10 deletions(-)
 create mode 100644 drivers/net/wireless/silabs/Kconfig
 create mode 100644 drivers/net/wireless/silabs/Makefile
 delete mode 100644 drivers/staging/wfx/TODO

Comments

Jérôme Pouiller March 16, 2021, 7:53 a.m. UTC | #1
Hello,

On Monday 15 March 2021 22:09:20 CET kernel test robot wrote:
> 
> From: kernel test robot <lkp@intel.com>
> 
> drivers/net/wireless/silabs/wfx/bus_sdio.c:134:8-33: ERROR: Threaded IRQ with no primary handler requested without IRQF_ONESHOT
> 
>  Since commit 1c6c69525b40 ("genirq: Reject bogus threaded irq requests")
>  threaded IRQs without a primary handler need to be requested with
>  IRQF_ONESHOT, otherwise the request will fail.
> 
>  So pass the IRQF_ONESHOT flag in this case.
> 
> Generated by: scripts/coccinelle/misc/irqf_oneshot.cocci
> 
> CC: Jérôme Pouiller <jerome.pouiller@silabs.com>
> Reported-by: kernel test robot <lkp@intel.com>
> Signed-off-by: kernel test robot <lkp@intel.com>
> ---
> 
> url:    https://github.com/0day-ci/linux/commits/Jerome-Pouiller/wfx-get-out-from-the-staging-area/20210315-212855
> base:   https://git.kernel.org/pub/scm/linux/kernel/git/gregkh/staging.git b828324bba8f575fde487a91fec07303789dda8a
> 
>  bus_sdio.c |    3 ++-
>  1 file changed, 2 insertions(+), 1 deletion(-)
> 
> --- a/drivers/net/wireless/silabs/wfx/bus_sdio.c
> +++ b/drivers/net/wireless/silabs/wfx/bus_sdio.c
> @@ -132,7 +132,8 @@ static int wfx_sdio_irq_subscribe(void *
>                 flags = IRQF_TRIGGER_HIGH;
>         flags |= IRQF_ONESHOT;
>         return devm_request_threaded_irq(&bus->func->dev, bus->of_irq, NULL,
> -                                        wfx_sdio_irq_handler_ext, flags,
> +                                        wfx_sdio_irq_handler_ext,
> +                                        flags | IRQF_ONESHOT,
>                                          "wfx", bus);
>  }
> 
> 

Obviously, "flags" always contains IRQF_ONESHOT. So, it is a false positive.
Philip Li March 16, 2021, 8:03 a.m. UTC | #2
> Subject: [kbuild-all] Re: [PATCH] wfx: fix irqf_oneshot.cocci warnings
> 
> Hello,
> 
> On Monday 15 March 2021 22:09:20 CET kernel test robot wrote:
> >
> > From: kernel test robot <lkp@intel.com>
> >
> > drivers/net/wireless/silabs/wfx/bus_sdio.c:134:8-33: ERROR: Threaded IRQ with no primary handler requested without
> IRQF_ONESHOT
> >
> >  Since commit 1c6c69525b40 ("genirq: Reject bogus threaded irq requests")
> >  threaded IRQs without a primary handler need to be requested with
> >  IRQF_ONESHOT, otherwise the request will fail.
> >
> >  So pass the IRQF_ONESHOT flag in this case.
> >
> > Generated by: scripts/coccinelle/misc/irqf_oneshot.cocci
> >
> > CC: Jérôme Pouiller <jerome.pouiller@silabs.com>
> > Reported-by: kernel test robot <lkp@intel.com>
> > Signed-off-by: kernel test robot <lkp@intel.com>
> > ---
> >
> > url:    https://github.com/0day-ci/linux/commits/Jerome-Pouiller/wfx-get-out-from-the-staging-area/20210315-212855
> > base:   https://git.kernel.org/pub/scm/linux/kernel/git/gregkh/staging.git b828324bba8f575fde487a91fec07303789dda8a
> >
> >  bus_sdio.c |    3 ++-
> >  1 file changed, 2 insertions(+), 1 deletion(-)
> >
> > --- a/drivers/net/wireless/silabs/wfx/bus_sdio.c
> > +++ b/drivers/net/wireless/silabs/wfx/bus_sdio.c
> > @@ -132,7 +132,8 @@ static int wfx_sdio_irq_subscribe(void *
> >                 flags = IRQF_TRIGGER_HIGH;
> >         flags |= IRQF_ONESHOT;
> >         return devm_request_threaded_irq(&bus->func->dev, bus->of_irq, NULL,
> > -                                        wfx_sdio_irq_handler_ext, flags,
> > +                                        wfx_sdio_irq_handler_ext,
> > +                                        flags | IRQF_ONESHOT,
> >                                          "wfx", bus);
> >  }
> >
> >
> 
> Obviously, "flags" always contains IRQF_ONESHOT. So, it is a false positive.
Thanks for the feedback. Sorry about this false positive, this had been disabled
for auto report now.

> 
> 
> --
> Jérôme Pouiller
> 
> _______________________________________________
> kbuild-all mailing list -- kbuild-all@lists.01.org
> To unsubscribe send an email to kbuild-all-leave@lists.01.org
diff mbox series

Patch

diff --git a/MAINTAINERS b/MAINTAINERS
index aa84121c5611..1d0be0c04456 100644
--- a/MAINTAINERS
+++ b/MAINTAINERS
@@ -16344,7 +16344,8 @@  F:	drivers/platform/x86/touchscreen_dmi.c
 SILICON LABS WIRELESS DRIVERS (for WFxxx series)
 M:	Jérôme Pouiller <jerome.pouiller@silabs.com>
 S:	Supported
-F:	drivers/staging/wfx/
+F:	Documentation/devicetree/bindings/net/wireless/silabs,wfx.yaml
+F:	drivers/net/wireless/silabs/wfx/
 
 SILICON MOTION SM712 FRAME BUFFER DRIVER
 M:	Sudip Mukherjee <sudipm.mukherjee@gmail.com>
diff --git a/drivers/net/wireless/Kconfig b/drivers/net/wireless/Kconfig
index 7add2002ff4c..e78ff7af6517 100644
--- a/drivers/net/wireless/Kconfig
+++ b/drivers/net/wireless/Kconfig
@@ -31,6 +31,7 @@  source "drivers/net/wireless/microchip/Kconfig"
 source "drivers/net/wireless/ralink/Kconfig"
 source "drivers/net/wireless/realtek/Kconfig"
 source "drivers/net/wireless/rsi/Kconfig"
+source "drivers/net/wireless/silabs/Kconfig"
 source "drivers/net/wireless/st/Kconfig"
 source "drivers/net/wireless/ti/Kconfig"
 source "drivers/net/wireless/zydas/Kconfig"
diff --git a/drivers/net/wireless/Makefile b/drivers/net/wireless/Makefile
index 80b324499786..76885e5f0ea7 100644
--- a/drivers/net/wireless/Makefile
+++ b/drivers/net/wireless/Makefile
@@ -16,6 +16,7 @@  obj-$(CONFIG_WLAN_VENDOR_MICROCHIP) += microchip/
 obj-$(CONFIG_WLAN_VENDOR_RALINK) += ralink/
 obj-$(CONFIG_WLAN_VENDOR_REALTEK) += realtek/
 obj-$(CONFIG_WLAN_VENDOR_RSI) += rsi/
+obj-$(CONFIG_WLAN_VENDOR_SILABS) += silabs/
 obj-$(CONFIG_WLAN_VENDOR_ST) += st/
 obj-$(CONFIG_WLAN_VENDOR_TI) += ti/
 obj-$(CONFIG_WLAN_VENDOR_ZYDAS) += zydas/
diff --git a/drivers/net/wireless/silabs/Kconfig b/drivers/net/wireless/silabs/Kconfig
new file mode 100644
index 000000000000..6262a799bf36
--- /dev/null
+++ b/drivers/net/wireless/silabs/Kconfig
@@ -0,0 +1,18 @@ 
+# SPDX-License-Identifier: GPL-2.0
+
+config WLAN_VENDOR_SILABS
+	bool "Silicon Laboratories devices"
+	default y
+	help
+	  If you have a wireless card belonging to this class, say Y.
+
+	  Note that the answer to this question doesn't directly affect the
+	  kernel: saying N will just cause the configurator to skip all the
+	  questions about these cards. If you say Y, you will be asked for
+	  your specific card in the following questions.
+
+if WLAN_VENDOR_SILABS
+
+source "drivers/net/wireless/silabs/wfx/Kconfig"
+
+endif # WLAN_VENDOR_SILABS
diff --git a/drivers/net/wireless/silabs/Makefile b/drivers/net/wireless/silabs/Makefile
new file mode 100644
index 000000000000..c2263ee21006
--- /dev/null
+++ b/drivers/net/wireless/silabs/Makefile
@@ -0,0 +1,3 @@ 
+# SPDX-License-Identifier: GPL-2.0
+
+obj-$(CONFIG_WFX)      += wfx/
diff --git a/drivers/staging/Kconfig b/drivers/staging/Kconfig
index b22f73d7bfc4..b07de39b9f0a 100644
--- a/drivers/staging/Kconfig
+++ b/drivers/staging/Kconfig
@@ -110,8 +110,6 @@  source "drivers/staging/qlge/Kconfig"
 
 source "drivers/staging/wimax/Kconfig"
 
-source "drivers/staging/wfx/Kconfig"
-
 source "drivers/staging/hikey9xx/Kconfig"
 
 endif # STAGING
diff --git a/drivers/staging/Makefile b/drivers/staging/Makefile
index 2245059e69c7..c6a992d1edd5 100644
--- a/drivers/staging/Makefile
+++ b/drivers/staging/Makefile
@@ -45,5 +45,4 @@  obj-$(CONFIG_FIELDBUS_DEV)     += fieldbus/
 obj-$(CONFIG_KPC2000)		+= kpc2000/
 obj-$(CONFIG_QLGE)		+= qlge/
 obj-$(CONFIG_WIMAX)		+= wimax/
-obj-$(CONFIG_WFX)		+= wfx/
 obj-y				+= hikey9xx/
diff --git a/drivers/staging/wfx/TODO b/drivers/staging/wfx/TODO
deleted file mode 100644
index 1b4bc2af94b6..000000000000
--- a/drivers/staging/wfx/TODO
+++ /dev/null
@@ -1,6 +0,0 @@ 
-This is a list of things that need to be done to get this driver out of the
-staging directory.
-
-  - As suggested by Felix, rate control could be improved following this idea:
-        https://lore.kernel.org/lkml/3099559.gv3Q75KnN1@pc-42/
-