linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH] [RFC] wireless: move obsolete drivers to staging
@ 2023-10-10 15:27 Arnd Bergmann
  2023-10-10 16:08 ` Greg Kroah-Hartman
                   ` (2 more replies)
  0 siblings, 3 replies; 31+ messages in thread
From: Arnd Bergmann @ 2023-10-10 15:27 UTC (permalink / raw)
  To: Kalle Valo, Greg Kroah-Hartman
  Cc: Arnd Bergmann, Nicolas Ferre, Alexandre Belloni, Claudiu Beznea,
	Jakub Kicinski, Pavel Machek, David S. Miller, Larry Finger,
	linux-kernel, linux-wireless, linux-arm-kernel, linux-staging

From: Arnd Bergmann <arnd@arndb.de>

While looking at the old drivers using the obsolete .ndo_do_ioctl()
callback, I found a number of network drivers that are especially
obsolete, in particular for 802.11b (11Mbit/s) or even older wireless
networks, using non-busmaster ISA/PCMCIA style bus interfaces, and using
the legacy wireless extension ioctls rather than the netlink interfaces
that were meant to replace them in 2007. All of these drivers are
obsolete or orphaned.

We had previously discussed this topic, but nobody ever moved the
files, so I now went through the list to my best knowledge. These
are the drivers that I would classify as "probably unused" by now:

 - Atmel at76c502/at76c504/at76c506 is a PIO-only (PCMCIA, mini-PCI
   and Cardbus) 802.11b driver with incomplete CFG80211 support.
   The related at76c50x USB driver uses MAC80211 and remains.

 - Cisco Aironet is an 802.11b PCMCIA and mini-PCI with limited support
   for Cardbus DMA and for CFG80211.

 - HostAP is an ISA/PCMCIA style 802.11b driver supporting only
   wireless extensions, and some custom ioctls (already removed).
   Some devices include a legacy PCI bridge but no DMA.

 - Aviator/Raytheon is an early PCMCIA driver, apparently predating
   802.11b and only supporting wireless extensions.

 - Planet WL3501 is another PCMCIA driver for pre-802.11b interfaces
   (2Mbit/s) with incomplete CFG80211 support

 - Zydas zd1201 is a USB 802.11b driver with limited support for
   CFG80211.

 - Orinoco is a PIO-only ISA/PCMCIA 802.11b device with extra bus
   interface connections for PCI/Cardbus/mini-PCI and a few
   pre-2002 Apple PowerMac variants. It supports both
   wireless extensions and CFG80211, but I could not tell if
   it requires using both.

 - Wireless RNDIS USB is a new-style CFG80211 driver for 802.11b
   and 802.11g USB hardware from around 2004 to 2006. This makes it
   more modern than any of the others, but Kalle already classified
   it as "legacy" in commit 298e50ad8eb8f ("wifi: move raycs, wl3501
   and rndis_wlan to legacy directory"), so it stays with ray_cs and
   wl3501_cs.

There are a few other drivers that are similar to these but that are
more likely to still be needed, and are not moved here:

 - Intel ipw2x00 is a PCI bus-master device for 802.11a/b/g that was
   popular in "Centrino" branded laptops from 2003 to 2005, but it
   still requires wireless extensions.

 - Marvell Libertas is an 802.11a/b/g device with a number of bus
   interfaces (USB, SDIO, SPI, PCMCIA) and incomplete CFG80211
   support. This one was used in the OLPC XO laptop and some other
   embedded devices that are still supported.

 - Some broadcom b43xx devices use the SSB bus that can be abstracted
   through PCMCIA. All of them use CFG80211.

 - The Sony Playstation 3 "gelic" ethernet driver contains a bridge
   and an 802.11b/g client chip that is controlled through a hypervisor
   interface from the OS, and it uses wireless extensions in the kernel
   driver.

Link: https://lore.kernel.org/all/87imaeg4ar.fsf@codeaurora.org/
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
---
I'm mainly taking educated guesses about which drivers are actually
obsolete. Let me know if I got any of them wrong, or if any others
should be included here.

I did not move the staging drivers for ks7010, rtl8192e, rtl8192u,
rtl8712, rtl8723bs, vt6656 or wlan-ng into driver/staging/wireless,
as they are already directly under drivers/staging, but that could
be another patch if we want to keep them all in one place.
---
 MAINTAINERS                                   | 16 ++++-----
 drivers/net/wireless/Kconfig                  |  4 ---
 drivers/net/wireless/Makefile                 |  2 --
 drivers/net/wireless/atmel/Kconfig            | 35 -------------------
 drivers/net/wireless/atmel/Makefile           |  4 ---
 drivers/net/wireless/intersil/Kconfig         |  2 --
 drivers/net/wireless/intersil/Makefile        |  2 --
 drivers/net/wireless/zydas/Kconfig            | 19 ----------
 drivers/net/wireless/zydas/Makefile           |  2 --
 drivers/staging/Kconfig                       |  2 ++
 drivers/staging/Makefile                      |  1 +
 drivers/staging/wireless/Kconfig              | 11 ++++++
 drivers/staging/wireless/Makefile             |  8 +++++
 drivers/staging/wireless/TODO                 | 11 ++++++
 drivers/staging/wireless/atmel/Kconfig        | 35 +++++++++++++++++++
 drivers/staging/wireless/atmel/Makefile       |  6 ++++
 .../{net => staging}/wireless/atmel/atmel.c   |  0
 .../{net => staging}/wireless/atmel/atmel.h   |  0
 .../wireless/atmel/atmel_cs.c                 |  0
 .../wireless/atmel/atmel_pci.c                |  0
 .../{net => staging}/wireless/cisco/Kconfig   |  0
 .../{net => staging}/wireless/cisco/Makefile  |  0
 .../{net => staging}/wireless/cisco/airo.c    |  0
 .../{net => staging}/wireless/cisco/airo.h    |  0
 .../{net => staging}/wireless/cisco/airo_cs.c |  0
 .../wireless}/hostap/Kconfig                  |  1 +
 .../wireless}/hostap/Makefile                 |  0
 .../wireless}/hostap/hostap.h                 |  0
 .../wireless}/hostap/hostap_80211.h           |  0
 .../wireless}/hostap/hostap_80211_rx.c        |  0
 .../wireless}/hostap/hostap_80211_tx.c        |  0
 .../wireless}/hostap/hostap_ap.c              |  0
 .../wireless}/hostap/hostap_ap.h              |  0
 .../wireless}/hostap/hostap_common.h          |  0
 .../wireless}/hostap/hostap_config.h          |  0
 .../wireless}/hostap/hostap_cs.c              |  0
 .../wireless}/hostap/hostap_download.c        |  0
 .../wireless}/hostap/hostap_hw.c              |  0
 .../wireless}/hostap/hostap_info.c            |  0
 .../wireless}/hostap/hostap_ioctl.c           |  0
 .../wireless}/hostap/hostap_main.c            |  0
 .../wireless}/hostap/hostap_pci.c             |  0
 .../wireless}/hostap/hostap_plx.c             |  0
 .../wireless}/hostap/hostap_proc.c            |  0
 .../wireless}/hostap/hostap_wlan.h            |  0
 .../{net => staging}/wireless/legacy/Kconfig  |  0
 .../{net => staging}/wireless/legacy/Makefile |  0
 .../{net => staging}/wireless/legacy/ray_cs.c |  0
 .../{net => staging}/wireless/legacy/ray_cs.h |  0
 .../{net => staging}/wireless/legacy/rayctl.h |  0
 .../wireless/legacy/rndis_wlan.c              |  0
 .../{net => staging}/wireless/legacy/wl3501.h |  0
 .../wireless/legacy/wl3501_cs.c               |  0
 .../wireless}/orinoco/Kconfig                 |  0
 .../wireless}/orinoco/Makefile                |  0
 .../wireless}/orinoco/airport.c               |  0
 .../wireless}/orinoco/cfg.c                   |  0
 .../wireless}/orinoco/cfg.h                   |  0
 .../wireless}/orinoco/fw.c                    |  0
 .../wireless}/orinoco/fw.h                    |  0
 .../wireless}/orinoco/hermes.c                |  0
 .../wireless}/orinoco/hermes.h                |  0
 .../wireless}/orinoco/hermes_dld.c            |  0
 .../wireless}/orinoco/hermes_dld.h            |  0
 .../wireless}/orinoco/hermes_rid.h            |  0
 .../wireless}/orinoco/hw.c                    |  0
 .../wireless}/orinoco/hw.h                    |  0
 .../wireless}/orinoco/main.c                  |  0
 .../wireless}/orinoco/main.h                  |  0
 .../wireless}/orinoco/mic.c                   |  0
 .../wireless}/orinoco/mic.h                   |  0
 .../wireless}/orinoco/orinoco.h               |  0
 .../wireless}/orinoco/orinoco_cs.c            |  0
 .../wireless}/orinoco/orinoco_nortel.c        |  0
 .../wireless}/orinoco/orinoco_pci.c           |  0
 .../wireless}/orinoco/orinoco_pci.h           |  0
 .../wireless}/orinoco/orinoco_plx.c           |  0
 .../wireless}/orinoco/orinoco_tmd.c           |  0
 .../wireless}/orinoco/orinoco_usb.c           |  0
 .../wireless}/orinoco/scan.c                  |  0
 .../wireless}/orinoco/scan.h                  |  0
 .../wireless}/orinoco/spectrum_cs.c           |  0
 .../wireless}/orinoco/wext.c                  |  0
 .../wireless}/orinoco/wext.h                  |  0
 drivers/staging/wireless/zydas/Kconfig        | 20 +++++++++++
 drivers/staging/wireless/zydas/Makefile       |  3 ++
 .../{net => staging}/wireless/zydas/zd1201.c  |  0
 .../{net => staging}/wireless/zydas/zd1201.h  |  0
 88 files changed, 106 insertions(+), 78 deletions(-)
 create mode 100644 drivers/staging/wireless/Kconfig
 create mode 100644 drivers/staging/wireless/Makefile
 create mode 100644 drivers/staging/wireless/TODO
 create mode 100644 drivers/staging/wireless/atmel/Kconfig
 create mode 100644 drivers/staging/wireless/atmel/Makefile
 rename drivers/{net => staging}/wireless/atmel/atmel.c (100%)
 rename drivers/{net => staging}/wireless/atmel/atmel.h (100%)
 rename drivers/{net => staging}/wireless/atmel/atmel_cs.c (100%)
 rename drivers/{net => staging}/wireless/atmel/atmel_pci.c (100%)
 rename drivers/{net => staging}/wireless/cisco/Kconfig (100%)
 rename drivers/{net => staging}/wireless/cisco/Makefile (100%)
 rename drivers/{net => staging}/wireless/cisco/airo.c (100%)
 rename drivers/{net => staging}/wireless/cisco/airo.h (100%)
 rename drivers/{net => staging}/wireless/cisco/airo_cs.c (100%)
 rename drivers/{net/wireless/intersil => staging/wireless}/hostap/Kconfig (98%)
 rename drivers/{net/wireless/intersil => staging/wireless}/hostap/Makefile (100%)
 rename drivers/{net/wireless/intersil => staging/wireless}/hostap/hostap.h (100%)
 rename drivers/{net/wireless/intersil => staging/wireless}/hostap/hostap_80211.h (100%)
 rename drivers/{net/wireless/intersil => staging/wireless}/hostap/hostap_80211_rx.c (100%)
 rename drivers/{net/wireless/intersil => staging/wireless}/hostap/hostap_80211_tx.c (100%)
 rename drivers/{net/wireless/intersil => staging/wireless}/hostap/hostap_ap.c (100%)
 rename drivers/{net/wireless/intersil => staging/wireless}/hostap/hostap_ap.h (100%)
 rename drivers/{net/wireless/intersil => staging/wireless}/hostap/hostap_common.h (100%)
 rename drivers/{net/wireless/intersil => staging/wireless}/hostap/hostap_config.h (100%)
 rename drivers/{net/wireless/intersil => staging/wireless}/hostap/hostap_cs.c (100%)
 rename drivers/{net/wireless/intersil => staging/wireless}/hostap/hostap_download.c (100%)
 rename drivers/{net/wireless/intersil => staging/wireless}/hostap/hostap_hw.c (100%)
 rename drivers/{net/wireless/intersil => staging/wireless}/hostap/hostap_info.c (100%)
 rename drivers/{net/wireless/intersil => staging/wireless}/hostap/hostap_ioctl.c (100%)
 rename drivers/{net/wireless/intersil => staging/wireless}/hostap/hostap_main.c (100%)
 rename drivers/{net/wireless/intersil => staging/wireless}/hostap/hostap_pci.c (100%)
 rename drivers/{net/wireless/intersil => staging/wireless}/hostap/hostap_plx.c (100%)
 rename drivers/{net/wireless/intersil => staging/wireless}/hostap/hostap_proc.c (100%)
 rename drivers/{net/wireless/intersil => staging/wireless}/hostap/hostap_wlan.h (100%)
 rename drivers/{net => staging}/wireless/legacy/Kconfig (100%)
 rename drivers/{net => staging}/wireless/legacy/Makefile (100%)
 rename drivers/{net => staging}/wireless/legacy/ray_cs.c (100%)
 rename drivers/{net => staging}/wireless/legacy/ray_cs.h (100%)
 rename drivers/{net => staging}/wireless/legacy/rayctl.h (100%)
 rename drivers/{net => staging}/wireless/legacy/rndis_wlan.c (100%)
 rename drivers/{net => staging}/wireless/legacy/wl3501.h (100%)
 rename drivers/{net => staging}/wireless/legacy/wl3501_cs.c (100%)
 rename drivers/{net/wireless/intersil => staging/wireless}/orinoco/Kconfig (100%)
 rename drivers/{net/wireless/intersil => staging/wireless}/orinoco/Makefile (100%)
 rename drivers/{net/wireless/intersil => staging/wireless}/orinoco/airport.c (100%)
 rename drivers/{net/wireless/intersil => staging/wireless}/orinoco/cfg.c (100%)
 rename drivers/{net/wireless/intersil => staging/wireless}/orinoco/cfg.h (100%)
 rename drivers/{net/wireless/intersil => staging/wireless}/orinoco/fw.c (100%)
 rename drivers/{net/wireless/intersil => staging/wireless}/orinoco/fw.h (100%)
 rename drivers/{net/wireless/intersil => staging/wireless}/orinoco/hermes.c (100%)
 rename drivers/{net/wireless/intersil => staging/wireless}/orinoco/hermes.h (100%)
 rename drivers/{net/wireless/intersil => staging/wireless}/orinoco/hermes_dld.c (100%)
 rename drivers/{net/wireless/intersil => staging/wireless}/orinoco/hermes_dld.h (100%)
 rename drivers/{net/wireless/intersil => staging/wireless}/orinoco/hermes_rid.h (100%)
 rename drivers/{net/wireless/intersil => staging/wireless}/orinoco/hw.c (100%)
 rename drivers/{net/wireless/intersil => staging/wireless}/orinoco/hw.h (100%)
 rename drivers/{net/wireless/intersil => staging/wireless}/orinoco/main.c (100%)
 rename drivers/{net/wireless/intersil => staging/wireless}/orinoco/main.h (100%)
 rename drivers/{net/wireless/intersil => staging/wireless}/orinoco/mic.c (100%)
 rename drivers/{net/wireless/intersil => staging/wireless}/orinoco/mic.h (100%)
 rename drivers/{net/wireless/intersil => staging/wireless}/orinoco/orinoco.h (100%)
 rename drivers/{net/wireless/intersil => staging/wireless}/orinoco/orinoco_cs.c (100%)
 rename drivers/{net/wireless/intersil => staging/wireless}/orinoco/orinoco_nortel.c (100%)
 rename drivers/{net/wireless/intersil => staging/wireless}/orinoco/orinoco_pci.c (100%)
 rename drivers/{net/wireless/intersil => staging/wireless}/orinoco/orinoco_pci.h (100%)
 rename drivers/{net/wireless/intersil => staging/wireless}/orinoco/orinoco_plx.c (100%)
 rename drivers/{net/wireless/intersil => staging/wireless}/orinoco/orinoco_tmd.c (100%)
 rename drivers/{net/wireless/intersil => staging/wireless}/orinoco/orinoco_usb.c (100%)
 rename drivers/{net/wireless/intersil => staging/wireless}/orinoco/scan.c (100%)
 rename drivers/{net/wireless/intersil => staging/wireless}/orinoco/scan.h (100%)
 rename drivers/{net/wireless/intersil => staging/wireless}/orinoco/spectrum_cs.c (100%)
 rename drivers/{net/wireless/intersil => staging/wireless}/orinoco/wext.c (100%)
 rename drivers/{net/wireless/intersil => staging/wireless}/orinoco/wext.h (100%)
 create mode 100644 drivers/staging/wireless/zydas/Kconfig
 create mode 100644 drivers/staging/wireless/zydas/Makefile
 rename drivers/{net => staging}/wireless/zydas/zd1201.c (100%)
 rename drivers/{net => staging}/wireless/zydas/zd1201.h (100%)

diff --git a/MAINTAINERS b/MAINTAINERS
index e9e30ec6748ec..826c36d421dd1 100644
--- a/MAINTAINERS
+++ b/MAINTAINERS
@@ -2389,7 +2389,7 @@ F:	drivers/memory/atmel*
 F:	drivers/watchdog/sama5d4_wdt.c
 F:	include/soc/at91/
 X:	drivers/input/touchscreen/atmel_mxt_ts.c
-X:	drivers/net/wireless/atmel/
+X:	drivers/staging/wireless/atmel/
 N:	at91
 N:	atmel
 
@@ -3298,7 +3298,7 @@ L:	linux-wireless@vger.kernel.org
 S:	Orphan
 W:	http://www.thekelleys.org.uk/atmel
 W:	http://atmelwlandriver.sourceforge.net/
-F:	drivers/net/wireless/atmel/atmel*
+F:	drivers/staging/wireless/atmel/atmel*
 
 ATOMIC INFRASTRUCTURE
 M:	Will Deacon <will@kernel.org>
@@ -9630,7 +9630,7 @@ F:	drivers/iio/pressure/mprls0025pa.c
 HOST AP DRIVER
 L:	linux-wireless@vger.kernel.org
 S:	Obsolete
-F:	drivers/net/wireless/intersil/hostap/
+F:	drivers/staging/wireless/hostap/
 
 HP BIOSCFG DRIVER
 M:	Jorge Lopez <jorge.lopez2@hp.com>
@@ -16208,7 +16208,7 @@ L:	linux-wireless@vger.kernel.org
 S:	Orphan
 W:	https://wireless.wiki.kernel.org/en/users/Drivers/orinoco
 W:	http://www.nongnu.org/orinoco/
-F:	drivers/net/wireless/intersil/orinoco/
+F:	drivers/staging/wireless/orinoco/
 
 OV2659 OMNIVISION SENSOR DRIVER
 M:	"Lad, Prabhakar" <prabhakar.csengg@gmail.com>
@@ -18120,7 +18120,7 @@ F:	include/ras/ras_event.h
 RAYLINK/WEBGEAR 802.11 WIRELESS LAN DRIVER
 L:	linux-wireless@vger.kernel.org
 S:	Orphan
-F:	drivers/net/wireless/legacy/ray*
+F:	drivers/staging/wireless/legacy/ray*
 
 RC-CORE / LIRC FRAMEWORK
 M:	Sean Young <sean@mess.org>
@@ -22594,7 +22594,7 @@ F:	include/uapi/linux/usb/g_uvc.h
 USB WIRELESS RNDIS DRIVER (rndis_wlan)
 L:	linux-wireless@vger.kernel.org
 S:	Orphan
-F:	drivers/net/wireless/legacy/rndis_wlan.c
+F:	drivers/staging/wireless/legacy/rndis_wlan.c
 
 USB XHCI DRIVER
 M:	Mathias Nyman <mathias.nyman@intel.com>
@@ -22607,7 +22607,7 @@ USB ZD1201 DRIVER
 L:	linux-wireless@vger.kernel.org
 S:	Orphan
 W:	http://linux-lc100020.sourceforge.net
-F:	drivers/net/wireless/zydas/zd1201.*
+F:	drivers/staging/wireless/zydas/zd1201.*
 
 USER DATAGRAM PROTOCOL (UDP)
 M:	Willem de Bruijn <willemdebruijn.kernel@gmail.com>
@@ -23419,7 +23419,7 @@ F:	drivers/input/misc/wistron_btns.c
 WL3501 WIRELESS PCMCIA CARD DRIVER
 L:	linux-wireless@vger.kernel.org
 S:	Orphan
-F:	drivers/net/wireless/legacy/wl3501*
+F:	drivers/staging/wireless/legacy/wl3501*
 
 WMI BINARY MOF DRIVER
 M:	Armin Wolf <W_Armin@gmx.de>
diff --git a/drivers/net/wireless/Kconfig b/drivers/net/wireless/Kconfig
index 7555af5195ec3..35a805e10991e 100644
--- a/drivers/net/wireless/Kconfig
+++ b/drivers/net/wireless/Kconfig
@@ -20,9 +20,7 @@ if WLAN
 
 source "drivers/net/wireless/admtek/Kconfig"
 source "drivers/net/wireless/ath/Kconfig"
-source "drivers/net/wireless/atmel/Kconfig"
 source "drivers/net/wireless/broadcom/Kconfig"
-source "drivers/net/wireless/cisco/Kconfig"
 source "drivers/net/wireless/intel/Kconfig"
 source "drivers/net/wireless/intersil/Kconfig"
 source "drivers/net/wireless/marvell/Kconfig"
@@ -38,8 +36,6 @@ source "drivers/net/wireless/ti/Kconfig"
 source "drivers/net/wireless/zydas/Kconfig"
 source "drivers/net/wireless/quantenna/Kconfig"
 
-source "drivers/net/wireless/legacy/Kconfig"
-
 source "drivers/net/wireless/virtual/Kconfig"
 
 endif # WLAN
diff --git a/drivers/net/wireless/Makefile b/drivers/net/wireless/Makefile
index 4d7374d567d18..e1c4141c60044 100644
--- a/drivers/net/wireless/Makefile
+++ b/drivers/net/wireless/Makefile
@@ -7,7 +7,6 @@ obj-$(CONFIG_WLAN_VENDOR_ADMTEK) += admtek/
 obj-$(CONFIG_WLAN_VENDOR_ATH) += ath/
 obj-$(CONFIG_WLAN_VENDOR_ATMEL) += atmel/
 obj-$(CONFIG_WLAN_VENDOR_BROADCOM) += broadcom/
-obj-$(CONFIG_WLAN_VENDOR_CISCO) += cisco/
 obj-$(CONFIG_WLAN_VENDOR_INTEL) += intel/
 obj-$(CONFIG_WLAN_VENDOR_INTERSIL) += intersil/
 obj-$(CONFIG_WLAN_VENDOR_MARVELL) += marvell/
@@ -23,5 +22,4 @@ obj-$(CONFIG_WLAN_VENDOR_ST) += st/
 obj-$(CONFIG_WLAN_VENDOR_TI) += ti/
 obj-$(CONFIG_WLAN_VENDOR_ZYDAS) += zydas/
 
-obj-$(CONFIG_WLAN) += legacy/
 obj-$(CONFIG_WLAN) += virtual/
diff --git a/drivers/net/wireless/atmel/Kconfig b/drivers/net/wireless/atmel/Kconfig
index bafdd57b049a1..7a2bb7a58ab7e 100644
--- a/drivers/net/wireless/atmel/Kconfig
+++ b/drivers/net/wireless/atmel/Kconfig
@@ -12,41 +12,6 @@ config WLAN_VENDOR_ATMEL
 
 if WLAN_VENDOR_ATMEL
 
-config ATMEL
-	tristate "Atmel at76c50x chipset  802.11b support"
-	depends on CFG80211 && (PCI || PCMCIA) && HAS_IOPORT
-	select WIRELESS_EXT
-	select WEXT_PRIV
-	select FW_LOADER
-	select CRC32
-	help
-	  A driver 802.11b wireless cards based on the Atmel fast-vnet
-	  chips. This driver supports standard Linux wireless extensions.
-
-	  Many  cards based on this chipset do not have flash memory
-	  and need their firmware loaded at start-up. If yours is
-	  one of these, you will need to provide a firmware image
-	  to be loaded into the card by the driver. The Atmel
-	  firmware package can be downloaded from
-	  <http://www.thekelleys.org.uk/atmel>
-
-config PCI_ATMEL
-	tristate "Atmel at76c506 PCI cards"
-	depends on ATMEL && PCI
-	help
-	  Enable support for PCI and mini-PCI cards containing the
-	  Atmel at76c506 chip.
-
-config PCMCIA_ATMEL
-	tristate "Atmel at76c502/at76c504 PCMCIA cards"
-	depends on ATMEL && PCMCIA
-	select WIRELESS_EXT
-	select FW_LOADER
-	select CRC32
-	help
-	  Enable support for PCMCIA cards containing the
-	  Atmel at76c502 and at76c504 chips.
-
 config AT76C50X_USB
 	tristate "Atmel at76c503/at76c505/at76c505a USB cards"
 	depends on MAC80211 && USB
diff --git a/drivers/net/wireless/atmel/Makefile b/drivers/net/wireless/atmel/Makefile
index 17e62805677d4..8338d7098ba60 100644
--- a/drivers/net/wireless/atmel/Makefile
+++ b/drivers/net/wireless/atmel/Makefile
@@ -1,6 +1,2 @@
 # SPDX-License-Identifier: GPL-2.0-only
-obj-$(CONFIG_ATMEL)             += atmel.o
-obj-$(CONFIG_PCI_ATMEL)         += atmel_pci.o 
-obj-$(CONFIG_PCMCIA_ATMEL)      += atmel_cs.o
-
 obj-$(CONFIG_AT76C50X_USB)      += at76c50x-usb.o
diff --git a/drivers/net/wireless/intersil/Kconfig b/drivers/net/wireless/intersil/Kconfig
index bd6bf70ece03d..201b1534a9ca2 100644
--- a/drivers/net/wireless/intersil/Kconfig
+++ b/drivers/net/wireless/intersil/Kconfig
@@ -12,8 +12,6 @@ config WLAN_VENDOR_INTERSIL
 
 if WLAN_VENDOR_INTERSIL
 
-source "drivers/net/wireless/intersil/hostap/Kconfig"
-source "drivers/net/wireless/intersil/orinoco/Kconfig"
 source "drivers/net/wireless/intersil/p54/Kconfig"
 
 endif # WLAN_VENDOR_INTERSIL
diff --git a/drivers/net/wireless/intersil/Makefile b/drivers/net/wireless/intersil/Makefile
index 65281d1b3d852..27e9b2869da1a 100644
--- a/drivers/net/wireless/intersil/Makefile
+++ b/drivers/net/wireless/intersil/Makefile
@@ -1,4 +1,2 @@
 # SPDX-License-Identifier: GPL-2.0-only
-obj-$(CONFIG_HOSTAP)		+= hostap/
-obj-$(CONFIG_HERMES)		+= orinoco/
 obj-$(CONFIG_P54_COMMON)	+= p54/
diff --git a/drivers/net/wireless/zydas/Kconfig b/drivers/net/wireless/zydas/Kconfig
index 08574433df66f..839e1217e855c 100644
--- a/drivers/net/wireless/zydas/Kconfig
+++ b/drivers/net/wireless/zydas/Kconfig
@@ -12,25 +12,6 @@ config WLAN_VENDOR_ZYDAS
 
 if WLAN_VENDOR_ZYDAS
 
-config USB_ZD1201
-	tristate "USB ZD1201 based Wireless device support"
-	depends on CFG80211 && USB
-	select WIRELESS_EXT
-	select WEXT_PRIV
-	select FW_LOADER
-	help
-	  Say Y if you want to use wireless LAN adapters based on the ZyDAS
-	  ZD1201 chip.
-
-	  This driver makes the adapter appear as a normal Ethernet interface,
-	  typically on wlan0.
-
-	  The zd1201 device requires external firmware to be loaded.
-	  This can be found at http://linux-lc100020.sourceforge.net/
-
-	  To compile this driver as a module, choose M here: the
-	  module will be called zd1201.
-
 source "drivers/net/wireless/zydas/zd1211rw/Kconfig"
 
 endif # WLAN_VENDOR_ZYDAS
diff --git a/drivers/net/wireless/zydas/Makefile b/drivers/net/wireless/zydas/Makefile
index c70003d30a8fb..3e0a51db98742 100644
--- a/drivers/net/wireless/zydas/Makefile
+++ b/drivers/net/wireless/zydas/Makefile
@@ -1,4 +1,2 @@
 # SPDX-License-Identifier: GPL-2.0-only
 obj-$(CONFIG_ZD1211RW)		+= zd1211rw/
-
-obj-$(CONFIG_USB_ZD1201)	+= zd1201.o
diff --git a/drivers/staging/Kconfig b/drivers/staging/Kconfig
index f9aef39cac2e9..8206d994f144d 100644
--- a/drivers/staging/Kconfig
+++ b/drivers/staging/Kconfig
@@ -36,6 +36,8 @@ source "drivers/staging/rtl8723bs/Kconfig"
 
 source "drivers/staging/rtl8712/Kconfig"
 
+source "drivers/staging/wireless/Kconfig"
+
 source "drivers/staging/rts5208/Kconfig"
 
 source "drivers/staging/octeon/Kconfig"
diff --git a/drivers/staging/Makefile b/drivers/staging/Makefile
index ffa70dda481d3..43c7e7a23b296 100644
--- a/drivers/staging/Makefile
+++ b/drivers/staging/Makefile
@@ -13,6 +13,7 @@ obj-$(CONFIG_OCTEON_ETHERNET)	+= octeon/
 obj-$(CONFIG_VT6655)		+= vt6655/
 obj-$(CONFIG_VT6656)		+= vt6656/
 obj-$(CONFIG_VME_BUS)		+= vme_user/
+obj-$(CONFIG_WLAN)		+= wireless/
 obj-$(CONFIG_IIO)		+= iio/
 obj-$(CONFIG_FB_SM750)		+= sm750fb/
 obj-$(CONFIG_USB_EMXX)		+= emxx_udc/
diff --git a/drivers/staging/wireless/Kconfig b/drivers/staging/wireless/Kconfig
new file mode 100644
index 0000000000000..a8ce42aa3e944
--- /dev/null
+++ b/drivers/staging/wireless/Kconfig
@@ -0,0 +1,11 @@
+# SPDX-License-Identifier: GPL-2.0
+if WIRELESS
+
+source "drivers/staging/wireless/atmel/Kconfig"
+source "drivers/staging/wireless/cisco/Kconfig"
+source "drivers/staging/wireless/hostap/Kconfig"
+source "drivers/staging/wireless/legacy/Kconfig"
+source "drivers/staging/wireless/orinoco/Kconfig"
+source "drivers/staging/wireless/zydas/Kconfig"
+
+endif
diff --git a/drivers/staging/wireless/Makefile b/drivers/staging/wireless/Makefile
new file mode 100644
index 0000000000000..33179fca40953
--- /dev/null
+++ b/drivers/staging/wireless/Makefile
@@ -0,0 +1,8 @@
+# SPDX-License-Identifier: GPL-2.0
+
+obj-y += atmel/
+obj-y += cisco/
+obj-y += hostap/
+obj-y += legacy/
+obj-y += orinoco/
+obj-y += zydas/
diff --git a/drivers/staging/wireless/TODO b/drivers/staging/wireless/TODO
new file mode 100644
index 0000000000000..7a3c1b6e7db41
--- /dev/null
+++ b/drivers/staging/wireless/TODO
@@ -0,0 +1,11 @@
+TODO (Oct. 2023)
+
+These 802.11(b) wireless drivers are likely all unused and can be removed
+in the near future, unless we find a reason to keep them.
+
+All except the rndis_wlan driver still rely on the deprecated wireless
+extension ioctl interface, which in modern drivers is only provided
+as an emulation layer on top of the cfg80211 interface.
+
+Ideally, any drivers we want to keep around should be converted to no
+longer require iw_handler_def.
diff --git a/drivers/staging/wireless/atmel/Kconfig b/drivers/staging/wireless/atmel/Kconfig
new file mode 100644
index 0000000000000..5771c82966347
--- /dev/null
+++ b/drivers/staging/wireless/atmel/Kconfig
@@ -0,0 +1,35 @@
+# SPDX-License-Identifier: GPL-2.0-only
+config ATMEL
+	tristate "Atmel at76c50x chipset  802.11b support"
+	depends on CFG80211 && (PCI || PCMCIA) && HAS_IOPORT
+	select WIRELESS_EXT
+	select WEXT_PRIV
+	select FW_LOADER
+	select CRC32
+	help
+	  A driver 802.11b wireless cards based on the Atmel fast-vnet
+	  chips. This driver supports standard Linux wireless extensions.
+
+	  Many  cards based on this chipset do not have flash memory
+	  and need their firmware loaded at start-up. If yours is
+	  one of these, you will need to provide a firmware image
+	  to be loaded into the card by the driver. The Atmel
+	  firmware package can be downloaded from
+	  <http://www.thekelleys.org.uk/atmel>
+
+config PCI_ATMEL
+	tristate "Atmel at76c506 PCI cards"
+	depends on ATMEL && PCI
+	help
+	  Enable support for PCI and mini-PCI cards containing the
+	  Atmel at76c506 chip.
+
+config PCMCIA_ATMEL
+	tristate "Atmel at76c502/at76c504 PCMCIA cards"
+	depends on ATMEL && PCMCIA
+	select WIRELESS_EXT
+	select FW_LOADER
+	select CRC32
+	help
+	  Enable support for PCMCIA cards containing the
+	  Atmel at76c502 and at76c504 chips.
diff --git a/drivers/staging/wireless/atmel/Makefile b/drivers/staging/wireless/atmel/Makefile
new file mode 100644
index 0000000000000..31d81bcd7ff7f
--- /dev/null
+++ b/drivers/staging/wireless/atmel/Makefile
@@ -0,0 +1,6 @@
+# SPDX-License-Identifier: GPL-2.0-only
+obj-$(CONFIG_ATMEL)             += atmel.o
+obj-$(CONFIG_PCI_ATMEL)         += atmel_pci.o
+obj-$(CONFIG_PCMCIA_ATMEL)      += atmel_cs.o
+
+
diff --git a/drivers/net/wireless/atmel/atmel.c b/drivers/staging/wireless/atmel/atmel.c
similarity index 100%
rename from drivers/net/wireless/atmel/atmel.c
rename to drivers/staging/wireless/atmel/atmel.c
diff --git a/drivers/net/wireless/atmel/atmel.h b/drivers/staging/wireless/atmel/atmel.h
similarity index 100%
rename from drivers/net/wireless/atmel/atmel.h
rename to drivers/staging/wireless/atmel/atmel.h
diff --git a/drivers/net/wireless/atmel/atmel_cs.c b/drivers/staging/wireless/atmel/atmel_cs.c
similarity index 100%
rename from drivers/net/wireless/atmel/atmel_cs.c
rename to drivers/staging/wireless/atmel/atmel_cs.c
diff --git a/drivers/net/wireless/atmel/atmel_pci.c b/drivers/staging/wireless/atmel/atmel_pci.c
similarity index 100%
rename from drivers/net/wireless/atmel/atmel_pci.c
rename to drivers/staging/wireless/atmel/atmel_pci.c
diff --git a/drivers/net/wireless/cisco/Kconfig b/drivers/staging/wireless/cisco/Kconfig
similarity index 100%
rename from drivers/net/wireless/cisco/Kconfig
rename to drivers/staging/wireless/cisco/Kconfig
diff --git a/drivers/net/wireless/cisco/Makefile b/drivers/staging/wireless/cisco/Makefile
similarity index 100%
rename from drivers/net/wireless/cisco/Makefile
rename to drivers/staging/wireless/cisco/Makefile
diff --git a/drivers/net/wireless/cisco/airo.c b/drivers/staging/wireless/cisco/airo.c
similarity index 100%
rename from drivers/net/wireless/cisco/airo.c
rename to drivers/staging/wireless/cisco/airo.c
diff --git a/drivers/net/wireless/cisco/airo.h b/drivers/staging/wireless/cisco/airo.h
similarity index 100%
rename from drivers/net/wireless/cisco/airo.h
rename to drivers/staging/wireless/cisco/airo.h
diff --git a/drivers/net/wireless/cisco/airo_cs.c b/drivers/staging/wireless/cisco/airo_cs.c
similarity index 100%
rename from drivers/net/wireless/cisco/airo_cs.c
rename to drivers/staging/wireless/cisco/airo_cs.c
diff --git a/drivers/net/wireless/intersil/hostap/Kconfig b/drivers/staging/wireless/hostap/Kconfig
similarity index 98%
rename from drivers/net/wireless/intersil/hostap/Kconfig
rename to drivers/staging/wireless/hostap/Kconfig
index 2edff8efbcbb1..2a7072d1e7dd6 100644
--- a/drivers/net/wireless/intersil/hostap/Kconfig
+++ b/drivers/staging/wireless/hostap/Kconfig
@@ -1,6 +1,7 @@
 # SPDX-License-Identifier: GPL-2.0-only
 config HOSTAP
 	tristate "IEEE 802.11 for Host AP (Prism2/2.5/3 and WEP/TKIP/CCMP)"
+	depends on (PCMCIA || PCI) && HAS_IOPORT
 	select WIRELESS_EXT
 	select WEXT_SPY
 	select WEXT_PRIV
diff --git a/drivers/net/wireless/intersil/hostap/Makefile b/drivers/staging/wireless/hostap/Makefile
similarity index 100%
rename from drivers/net/wireless/intersil/hostap/Makefile
rename to drivers/staging/wireless/hostap/Makefile
diff --git a/drivers/net/wireless/intersil/hostap/hostap.h b/drivers/staging/wireless/hostap/hostap.h
similarity index 100%
rename from drivers/net/wireless/intersil/hostap/hostap.h
rename to drivers/staging/wireless/hostap/hostap.h
diff --git a/drivers/net/wireless/intersil/hostap/hostap_80211.h b/drivers/staging/wireless/hostap/hostap_80211.h
similarity index 100%
rename from drivers/net/wireless/intersil/hostap/hostap_80211.h
rename to drivers/staging/wireless/hostap/hostap_80211.h
diff --git a/drivers/net/wireless/intersil/hostap/hostap_80211_rx.c b/drivers/staging/wireless/hostap/hostap_80211_rx.c
similarity index 100%
rename from drivers/net/wireless/intersil/hostap/hostap_80211_rx.c
rename to drivers/staging/wireless/hostap/hostap_80211_rx.c
diff --git a/drivers/net/wireless/intersil/hostap/hostap_80211_tx.c b/drivers/staging/wireless/hostap/hostap_80211_tx.c
similarity index 100%
rename from drivers/net/wireless/intersil/hostap/hostap_80211_tx.c
rename to drivers/staging/wireless/hostap/hostap_80211_tx.c
diff --git a/drivers/net/wireless/intersil/hostap/hostap_ap.c b/drivers/staging/wireless/hostap/hostap_ap.c
similarity index 100%
rename from drivers/net/wireless/intersil/hostap/hostap_ap.c
rename to drivers/staging/wireless/hostap/hostap_ap.c
diff --git a/drivers/net/wireless/intersil/hostap/hostap_ap.h b/drivers/staging/wireless/hostap/hostap_ap.h
similarity index 100%
rename from drivers/net/wireless/intersil/hostap/hostap_ap.h
rename to drivers/staging/wireless/hostap/hostap_ap.h
diff --git a/drivers/net/wireless/intersil/hostap/hostap_common.h b/drivers/staging/wireless/hostap/hostap_common.h
similarity index 100%
rename from drivers/net/wireless/intersil/hostap/hostap_common.h
rename to drivers/staging/wireless/hostap/hostap_common.h
diff --git a/drivers/net/wireless/intersil/hostap/hostap_config.h b/drivers/staging/wireless/hostap/hostap_config.h
similarity index 100%
rename from drivers/net/wireless/intersil/hostap/hostap_config.h
rename to drivers/staging/wireless/hostap/hostap_config.h
diff --git a/drivers/net/wireless/intersil/hostap/hostap_cs.c b/drivers/staging/wireless/hostap/hostap_cs.c
similarity index 100%
rename from drivers/net/wireless/intersil/hostap/hostap_cs.c
rename to drivers/staging/wireless/hostap/hostap_cs.c
diff --git a/drivers/net/wireless/intersil/hostap/hostap_download.c b/drivers/staging/wireless/hostap/hostap_download.c
similarity index 100%
rename from drivers/net/wireless/intersil/hostap/hostap_download.c
rename to drivers/staging/wireless/hostap/hostap_download.c
diff --git a/drivers/net/wireless/intersil/hostap/hostap_hw.c b/drivers/staging/wireless/hostap/hostap_hw.c
similarity index 100%
rename from drivers/net/wireless/intersil/hostap/hostap_hw.c
rename to drivers/staging/wireless/hostap/hostap_hw.c
diff --git a/drivers/net/wireless/intersil/hostap/hostap_info.c b/drivers/staging/wireless/hostap/hostap_info.c
similarity index 100%
rename from drivers/net/wireless/intersil/hostap/hostap_info.c
rename to drivers/staging/wireless/hostap/hostap_info.c
diff --git a/drivers/net/wireless/intersil/hostap/hostap_ioctl.c b/drivers/staging/wireless/hostap/hostap_ioctl.c
similarity index 100%
rename from drivers/net/wireless/intersil/hostap/hostap_ioctl.c
rename to drivers/staging/wireless/hostap/hostap_ioctl.c
diff --git a/drivers/net/wireless/intersil/hostap/hostap_main.c b/drivers/staging/wireless/hostap/hostap_main.c
similarity index 100%
rename from drivers/net/wireless/intersil/hostap/hostap_main.c
rename to drivers/staging/wireless/hostap/hostap_main.c
diff --git a/drivers/net/wireless/intersil/hostap/hostap_pci.c b/drivers/staging/wireless/hostap/hostap_pci.c
similarity index 100%
rename from drivers/net/wireless/intersil/hostap/hostap_pci.c
rename to drivers/staging/wireless/hostap/hostap_pci.c
diff --git a/drivers/net/wireless/intersil/hostap/hostap_plx.c b/drivers/staging/wireless/hostap/hostap_plx.c
similarity index 100%
rename from drivers/net/wireless/intersil/hostap/hostap_plx.c
rename to drivers/staging/wireless/hostap/hostap_plx.c
diff --git a/drivers/net/wireless/intersil/hostap/hostap_proc.c b/drivers/staging/wireless/hostap/hostap_proc.c
similarity index 100%
rename from drivers/net/wireless/intersil/hostap/hostap_proc.c
rename to drivers/staging/wireless/hostap/hostap_proc.c
diff --git a/drivers/net/wireless/intersil/hostap/hostap_wlan.h b/drivers/staging/wireless/hostap/hostap_wlan.h
similarity index 100%
rename from drivers/net/wireless/intersil/hostap/hostap_wlan.h
rename to drivers/staging/wireless/hostap/hostap_wlan.h
diff --git a/drivers/net/wireless/legacy/Kconfig b/drivers/staging/wireless/legacy/Kconfig
similarity index 100%
rename from drivers/net/wireless/legacy/Kconfig
rename to drivers/staging/wireless/legacy/Kconfig
diff --git a/drivers/net/wireless/legacy/Makefile b/drivers/staging/wireless/legacy/Makefile
similarity index 100%
rename from drivers/net/wireless/legacy/Makefile
rename to drivers/staging/wireless/legacy/Makefile
diff --git a/drivers/net/wireless/legacy/ray_cs.c b/drivers/staging/wireless/legacy/ray_cs.c
similarity index 100%
rename from drivers/net/wireless/legacy/ray_cs.c
rename to drivers/staging/wireless/legacy/ray_cs.c
diff --git a/drivers/net/wireless/legacy/ray_cs.h b/drivers/staging/wireless/legacy/ray_cs.h
similarity index 100%
rename from drivers/net/wireless/legacy/ray_cs.h
rename to drivers/staging/wireless/legacy/ray_cs.h
diff --git a/drivers/net/wireless/legacy/rayctl.h b/drivers/staging/wireless/legacy/rayctl.h
similarity index 100%
rename from drivers/net/wireless/legacy/rayctl.h
rename to drivers/staging/wireless/legacy/rayctl.h
diff --git a/drivers/net/wireless/legacy/rndis_wlan.c b/drivers/staging/wireless/legacy/rndis_wlan.c
similarity index 100%
rename from drivers/net/wireless/legacy/rndis_wlan.c
rename to drivers/staging/wireless/legacy/rndis_wlan.c
diff --git a/drivers/net/wireless/legacy/wl3501.h b/drivers/staging/wireless/legacy/wl3501.h
similarity index 100%
rename from drivers/net/wireless/legacy/wl3501.h
rename to drivers/staging/wireless/legacy/wl3501.h
diff --git a/drivers/net/wireless/legacy/wl3501_cs.c b/drivers/staging/wireless/legacy/wl3501_cs.c
similarity index 100%
rename from drivers/net/wireless/legacy/wl3501_cs.c
rename to drivers/staging/wireless/legacy/wl3501_cs.c
diff --git a/drivers/net/wireless/intersil/orinoco/Kconfig b/drivers/staging/wireless/orinoco/Kconfig
similarity index 100%
rename from drivers/net/wireless/intersil/orinoco/Kconfig
rename to drivers/staging/wireless/orinoco/Kconfig
diff --git a/drivers/net/wireless/intersil/orinoco/Makefile b/drivers/staging/wireless/orinoco/Makefile
similarity index 100%
rename from drivers/net/wireless/intersil/orinoco/Makefile
rename to drivers/staging/wireless/orinoco/Makefile
diff --git a/drivers/net/wireless/intersil/orinoco/airport.c b/drivers/staging/wireless/orinoco/airport.c
similarity index 100%
rename from drivers/net/wireless/intersil/orinoco/airport.c
rename to drivers/staging/wireless/orinoco/airport.c
diff --git a/drivers/net/wireless/intersil/orinoco/cfg.c b/drivers/staging/wireless/orinoco/cfg.c
similarity index 100%
rename from drivers/net/wireless/intersil/orinoco/cfg.c
rename to drivers/staging/wireless/orinoco/cfg.c
diff --git a/drivers/net/wireless/intersil/orinoco/cfg.h b/drivers/staging/wireless/orinoco/cfg.h
similarity index 100%
rename from drivers/net/wireless/intersil/orinoco/cfg.h
rename to drivers/staging/wireless/orinoco/cfg.h
diff --git a/drivers/net/wireless/intersil/orinoco/fw.c b/drivers/staging/wireless/orinoco/fw.c
similarity index 100%
rename from drivers/net/wireless/intersil/orinoco/fw.c
rename to drivers/staging/wireless/orinoco/fw.c
diff --git a/drivers/net/wireless/intersil/orinoco/fw.h b/drivers/staging/wireless/orinoco/fw.h
similarity index 100%
rename from drivers/net/wireless/intersil/orinoco/fw.h
rename to drivers/staging/wireless/orinoco/fw.h
diff --git a/drivers/net/wireless/intersil/orinoco/hermes.c b/drivers/staging/wireless/orinoco/hermes.c
similarity index 100%
rename from drivers/net/wireless/intersil/orinoco/hermes.c
rename to drivers/staging/wireless/orinoco/hermes.c
diff --git a/drivers/net/wireless/intersil/orinoco/hermes.h b/drivers/staging/wireless/orinoco/hermes.h
similarity index 100%
rename from drivers/net/wireless/intersil/orinoco/hermes.h
rename to drivers/staging/wireless/orinoco/hermes.h
diff --git a/drivers/net/wireless/intersil/orinoco/hermes_dld.c b/drivers/staging/wireless/orinoco/hermes_dld.c
similarity index 100%
rename from drivers/net/wireless/intersil/orinoco/hermes_dld.c
rename to drivers/staging/wireless/orinoco/hermes_dld.c
diff --git a/drivers/net/wireless/intersil/orinoco/hermes_dld.h b/drivers/staging/wireless/orinoco/hermes_dld.h
similarity index 100%
rename from drivers/net/wireless/intersil/orinoco/hermes_dld.h
rename to drivers/staging/wireless/orinoco/hermes_dld.h
diff --git a/drivers/net/wireless/intersil/orinoco/hermes_rid.h b/drivers/staging/wireless/orinoco/hermes_rid.h
similarity index 100%
rename from drivers/net/wireless/intersil/orinoco/hermes_rid.h
rename to drivers/staging/wireless/orinoco/hermes_rid.h
diff --git a/drivers/net/wireless/intersil/orinoco/hw.c b/drivers/staging/wireless/orinoco/hw.c
similarity index 100%
rename from drivers/net/wireless/intersil/orinoco/hw.c
rename to drivers/staging/wireless/orinoco/hw.c
diff --git a/drivers/net/wireless/intersil/orinoco/hw.h b/drivers/staging/wireless/orinoco/hw.h
similarity index 100%
rename from drivers/net/wireless/intersil/orinoco/hw.h
rename to drivers/staging/wireless/orinoco/hw.h
diff --git a/drivers/net/wireless/intersil/orinoco/main.c b/drivers/staging/wireless/orinoco/main.c
similarity index 100%
rename from drivers/net/wireless/intersil/orinoco/main.c
rename to drivers/staging/wireless/orinoco/main.c
diff --git a/drivers/net/wireless/intersil/orinoco/main.h b/drivers/staging/wireless/orinoco/main.h
similarity index 100%
rename from drivers/net/wireless/intersil/orinoco/main.h
rename to drivers/staging/wireless/orinoco/main.h
diff --git a/drivers/net/wireless/intersil/orinoco/mic.c b/drivers/staging/wireless/orinoco/mic.c
similarity index 100%
rename from drivers/net/wireless/intersil/orinoco/mic.c
rename to drivers/staging/wireless/orinoco/mic.c
diff --git a/drivers/net/wireless/intersil/orinoco/mic.h b/drivers/staging/wireless/orinoco/mic.h
similarity index 100%
rename from drivers/net/wireless/intersil/orinoco/mic.h
rename to drivers/staging/wireless/orinoco/mic.h
diff --git a/drivers/net/wireless/intersil/orinoco/orinoco.h b/drivers/staging/wireless/orinoco/orinoco.h
similarity index 100%
rename from drivers/net/wireless/intersil/orinoco/orinoco.h
rename to drivers/staging/wireless/orinoco/orinoco.h
diff --git a/drivers/net/wireless/intersil/orinoco/orinoco_cs.c b/drivers/staging/wireless/orinoco/orinoco_cs.c
similarity index 100%
rename from drivers/net/wireless/intersil/orinoco/orinoco_cs.c
rename to drivers/staging/wireless/orinoco/orinoco_cs.c
diff --git a/drivers/net/wireless/intersil/orinoco/orinoco_nortel.c b/drivers/staging/wireless/orinoco/orinoco_nortel.c
similarity index 100%
rename from drivers/net/wireless/intersil/orinoco/orinoco_nortel.c
rename to drivers/staging/wireless/orinoco/orinoco_nortel.c
diff --git a/drivers/net/wireless/intersil/orinoco/orinoco_pci.c b/drivers/staging/wireless/orinoco/orinoco_pci.c
similarity index 100%
rename from drivers/net/wireless/intersil/orinoco/orinoco_pci.c
rename to drivers/staging/wireless/orinoco/orinoco_pci.c
diff --git a/drivers/net/wireless/intersil/orinoco/orinoco_pci.h b/drivers/staging/wireless/orinoco/orinoco_pci.h
similarity index 100%
rename from drivers/net/wireless/intersil/orinoco/orinoco_pci.h
rename to drivers/staging/wireless/orinoco/orinoco_pci.h
diff --git a/drivers/net/wireless/intersil/orinoco/orinoco_plx.c b/drivers/staging/wireless/orinoco/orinoco_plx.c
similarity index 100%
rename from drivers/net/wireless/intersil/orinoco/orinoco_plx.c
rename to drivers/staging/wireless/orinoco/orinoco_plx.c
diff --git a/drivers/net/wireless/intersil/orinoco/orinoco_tmd.c b/drivers/staging/wireless/orinoco/orinoco_tmd.c
similarity index 100%
rename from drivers/net/wireless/intersil/orinoco/orinoco_tmd.c
rename to drivers/staging/wireless/orinoco/orinoco_tmd.c
diff --git a/drivers/net/wireless/intersil/orinoco/orinoco_usb.c b/drivers/staging/wireless/orinoco/orinoco_usb.c
similarity index 100%
rename from drivers/net/wireless/intersil/orinoco/orinoco_usb.c
rename to drivers/staging/wireless/orinoco/orinoco_usb.c
diff --git a/drivers/net/wireless/intersil/orinoco/scan.c b/drivers/staging/wireless/orinoco/scan.c
similarity index 100%
rename from drivers/net/wireless/intersil/orinoco/scan.c
rename to drivers/staging/wireless/orinoco/scan.c
diff --git a/drivers/net/wireless/intersil/orinoco/scan.h b/drivers/staging/wireless/orinoco/scan.h
similarity index 100%
rename from drivers/net/wireless/intersil/orinoco/scan.h
rename to drivers/staging/wireless/orinoco/scan.h
diff --git a/drivers/net/wireless/intersil/orinoco/spectrum_cs.c b/drivers/staging/wireless/orinoco/spectrum_cs.c
similarity index 100%
rename from drivers/net/wireless/intersil/orinoco/spectrum_cs.c
rename to drivers/staging/wireless/orinoco/spectrum_cs.c
diff --git a/drivers/net/wireless/intersil/orinoco/wext.c b/drivers/staging/wireless/orinoco/wext.c
similarity index 100%
rename from drivers/net/wireless/intersil/orinoco/wext.c
rename to drivers/staging/wireless/orinoco/wext.c
diff --git a/drivers/net/wireless/intersil/orinoco/wext.h b/drivers/staging/wireless/orinoco/wext.h
similarity index 100%
rename from drivers/net/wireless/intersil/orinoco/wext.h
rename to drivers/staging/wireless/orinoco/wext.h
diff --git a/drivers/staging/wireless/zydas/Kconfig b/drivers/staging/wireless/zydas/Kconfig
new file mode 100644
index 0000000000000..9ff2ce3e1695a
--- /dev/null
+++ b/drivers/staging/wireless/zydas/Kconfig
@@ -0,0 +1,20 @@
+# SPDX-License-Identifier: GPL-2.0-only
+
+config USB_ZD1201
+	tristate "USB ZD1201 based Wireless device support"
+	depends on CFG80211 && USB
+	select WIRELESS_EXT
+	select WEXT_PRIV
+	select FW_LOADER
+	help
+	  Say Y if you want to use wireless LAN adapters based on the ZyDAS
+	  ZD1201 chip.
+
+	  This driver makes the adapter appear as a normal Ethernet interface,
+	  typically on wlan0.
+
+	  The zd1201 device requires external firmware to be loaded.
+	  This can be found at http://linux-lc100020.sourceforge.net/
+
+	  To compile this driver as a module, choose M here: the
+	  module will be called zd1201.
diff --git a/drivers/staging/wireless/zydas/Makefile b/drivers/staging/wireless/zydas/Makefile
new file mode 100644
index 0000000000000..5239cc17bd2ad
--- /dev/null
+++ b/drivers/staging/wireless/zydas/Makefile
@@ -0,0 +1,3 @@
+# SPDX-License-Identifier: GPL-2.0-only
+
+obj-$(CONFIG_USB_ZD1201)	+= zd1201.o
diff --git a/drivers/net/wireless/zydas/zd1201.c b/drivers/staging/wireless/zydas/zd1201.c
similarity index 100%
rename from drivers/net/wireless/zydas/zd1201.c
rename to drivers/staging/wireless/zydas/zd1201.c
diff --git a/drivers/net/wireless/zydas/zd1201.h b/drivers/staging/wireless/zydas/zd1201.h
similarity index 100%
rename from drivers/net/wireless/zydas/zd1201.h
rename to drivers/staging/wireless/zydas/zd1201.h
-- 
2.39.2


^ permalink raw reply related	[flat|nested] 31+ messages in thread

end of thread, other threads:[~2023-10-18 20:38 UTC | newest]

Thread overview: 31+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2023-10-10 15:27 [PATCH] [RFC] wireless: move obsolete drivers to staging Arnd Bergmann
2023-10-10 16:08 ` Greg Kroah-Hartman
2023-10-11  5:40   ` Kalle Valo
2023-10-11  6:16     ` Greg Kroah-Hartman
2023-10-11  7:29       ` Kalle Valo
2023-10-11 15:09         ` Jakub Kicinski
2023-10-12 11:47           ` Kalle Valo
2023-10-12 14:36             ` Arnd Bergmann
2023-10-12 14:48               ` Kalle Valo
2023-10-12 15:11                 ` Geert Uytterhoeven
2023-10-12 15:28               ` Johannes Berg
2023-10-12 15:39                 ` Geert Uytterhoeven
2023-10-12 15:41                   ` Johannes Berg
2023-10-12 16:36                     ` Geoff Levand
2023-10-13 15:44                       ` Arnd Bergmann
2023-10-13 18:02                         ` Johannes Berg
2023-10-18 20:37                           ` Jeff Johnson
2023-10-12 16:16               ` Philipp Hortmann
2023-10-12 16:18               ` Dan Williams
2023-10-11  7:24     ` Arnd Bergmann
2023-10-11  7:41       ` Greg Kroah-Hartman
2023-10-11  8:44       ` Kalle Valo
2023-10-11  9:01         ` Arnd Bergmann
2023-10-11 18:13 ` Philipp Hortmann
2023-10-11 20:22   ` Arnd Bergmann
2023-10-12  6:23     ` Dan Carpenter
2023-10-13  6:42 ` Philipp Hortmann
2023-10-13 15:36   ` Arnd Bergmann
2023-10-13 16:24     ` Larry Finger
2023-10-15 18:42     ` Philipp Hortmann
2023-10-18 16:05       ` Arnd Bergmann

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).