Commit 3d23e349 authored by Johannes Berg's avatar Johannes Berg Committed by John W. Linville
Browse files

wext: refactor



Refactor wext to
 * split out iwpriv handling
 * split out iwspy handling
 * split out procfs support
 * allow cfg80211 to have wireless extensions compat code
   w/o CONFIG_WIRELESS_EXT

After this, drivers need to
 - select WIRELESS_EXT	- for wext support
 - select WEXT_PRIV	- for iwpriv support
 - select WEXT_SPY	- for iwspy support

except cfg80211 -- which gets new hooks in wext-core.c
and can then get wext handlers without CONFIG_WIRELESS_EXT.

Wireless extensions procfs support is auto-selected
based on PROC_FS and anything that requires the wext core
(i.e. WIRELESS_EXT or CFG80211_WEXT).

Signed-off-by: default avatarJohannes Berg <johannes@sipsolutions.net>
Signed-off-by: default avatarJohn W. Linville <linville@tuxdriver.com>
parent bc974f4a
Loading
Loading
Loading
Loading
+22 −7
Original line number Diff line number Diff line
@@ -67,6 +67,8 @@ config WAVELAN
	tristate "AT&T/Lucent old WaveLAN & DEC RoamAbout DS ISA support"
	depends on ISA && WLAN_PRE80211
	select WIRELESS_EXT
	select WEXT_SPY
	select WEXT_PRIV
	---help---
	  The Lucent WaveLAN (formerly NCR and AT&T; or DEC RoamAbout DS) is
	  a Radio LAN (wireless Ethernet-like Local Area Network) using the
@@ -90,6 +92,8 @@ config PCMCIA_WAVELAN
	tristate "AT&T/Lucent old WaveLAN Pcmcia wireless support"
	depends on PCMCIA && WLAN_PRE80211
	select WIRELESS_EXT
	select WEXT_SPY
	select WEXT_PRIV
	help
	  Say Y here if you intend to attach an AT&T/Lucent Wavelan PCMCIA
	  (PC-card) wireless Ethernet networking card to your computer.  This
@@ -102,6 +106,7 @@ config PCMCIA_NETWAVE
	tristate "Xircom Netwave AirSurfer Pcmcia wireless support"
	depends on PCMCIA && WLAN_PRE80211
	select WIRELESS_EXT
	select WEXT_PRIV
	help
	  Say Y here if you intend to attach this type of PCMCIA (PC-card)
	  wireless Ethernet networking card to your computer.
@@ -123,6 +128,8 @@ config PCMCIA_RAYCS
	tristate "Aviator/Raytheon 2.4GHz wireless support"
	depends on PCMCIA && WLAN_80211
	select WIRELESS_EXT
	select WEXT_SPY
	select WEXT_PRIV
	---help---
	  Say Y here if you intend to attach an Aviator/Raytheon PCMCIA
	  (PC-card) wireless Ethernet networking card to your computer.
@@ -136,6 +143,7 @@ config LIBERTAS
	tristate "Marvell 8xxx Libertas WLAN driver support"
	depends on WLAN_80211
	select WIRELESS_EXT
	select WEXT_SPY
	select LIB80211
	select FW_LOADER
	---help---
@@ -190,6 +198,8 @@ config AIRO
	depends on ISA_DMA_API && WLAN_80211 && (PCI || BROKEN)
	select WIRELESS_EXT
	select CRYPTO
	select WEXT_SPY
	select WEXT_PRIV
	---help---
	  This is the standard Linux driver to support Cisco/Aironet ISA and
	  PCI 802.11 wireless cards.
@@ -207,6 +217,7 @@ config ATMEL
      tristate "Atmel at76c50x chipset  802.11b support"
      depends on (PCI || PCMCIA) && WLAN_80211
      select WIRELESS_EXT
      select WEXT_PRIV
      select FW_LOADER
      select CRC32
       ---help---
@@ -269,7 +280,8 @@ config PCMCIA_WL3501
	tristate "Planet WL3501 PCMCIA cards"
	depends on EXPERIMENTAL && PCMCIA && WLAN_80211
	select WIRELESS_EXT
       ---help---
	select WEXT_SPY
	help
	  A driver for WL3501 PCMCIA 802.11 wireless cards made by Planet.
	  It has basic support for Linux wireless extensions and initial
	  micro support for ethtool.
@@ -278,6 +290,8 @@ config PRISM54
	tristate 'Intersil Prism GT/Duette/Indigo PCI/Cardbus (DEPRECATED)'
	depends on PCI && EXPERIMENTAL && WLAN_80211
	select WIRELESS_EXT
	select WEXT_SPY
	select WEXT_PRIV
	select FW_LOADER
	---help---
	  This enables support for FullMAC PCI/Cardbus prism54 devices. This
@@ -300,6 +314,7 @@ config USB_ZD1201
	tristate "USB ZD1201 based Wireless device support"
	depends on USB && WLAN_80211
	select WIRELESS_EXT
	select WEXT_PRIV
	select FW_LOADER
	---help---
	  Say Y if you want to use wireless LAN adapters based on the ZyDAS
+2 −0
Original line number Diff line number Diff line
@@ -2,6 +2,8 @@ config HOSTAP
	tristate "IEEE 802.11 for Host AP (Prism2/2.5/3 and WEP/TKIP/CCMP)"
	depends on WLAN_80211
	select WIRELESS_EXT
	select WEXT_SPY
	select WEXT_PRIV
	select CRYPTO
	select CRYPTO_ARC4
	select CRYPTO_ECB
+5 −0
Original line number Diff line number Diff line
@@ -6,6 +6,8 @@ config IPW2100
	tristate "Intel PRO/Wireless 2100 Network Connection"
	depends on PCI && WLAN_80211 && CFG80211
	select WIRELESS_EXT
	select WEXT_SPY
	select WEXT_PRIV
	select FW_LOADER
	select LIB80211
	select LIBIPW
@@ -65,6 +67,8 @@ config IPW2200
	tristate "Intel PRO/Wireless 2200BG and 2915ABG Network Connection"
	depends on PCI && WLAN_80211 && CFG80211
	select WIRELESS_EXT
	select WEXT_SPY
	select WEXT_PRIV
	select FW_LOADER
	select LIB80211
	select LIBIPW
@@ -152,6 +156,7 @@ config LIBIPW
	tristate
	depends on PCI && WLAN_80211 && CFG80211
	select WIRELESS_EXT
	select WEXT_SPY
	select CRYPTO
	select CRYPTO_ARC4
	select CRYPTO_ECB
+2 −0
Original line number Diff line number Diff line
@@ -3,6 +3,8 @@ config HERMES
	depends on (PPC_PMAC || PCI || PCMCIA) && WLAN_80211
	depends on CFG80211
	select WIRELESS_EXT
	select WEXT_SPY
	select WEXT_PRIV
	select FW_LOADER
	select CRYPTO
	select CRYPTO_MICHAEL_MIC
+5 −1
Original line number Diff line number Diff line
@@ -1171,6 +1171,10 @@ struct wiphy {
	struct net *_net;
#endif

#ifdef CONFIG_CFG80211_WEXT
	const struct iw_handler_def *wext;
#endif

	char priv[0] __attribute__((__aligned__(NETDEV_ALIGN)));
};

@@ -1345,7 +1349,7 @@ struct wireless_dev {
	struct cfg80211_internal_bss *auth_bsses[MAX_AUTH_BSSES];
	struct cfg80211_internal_bss *current_bss; /* associated / joined */

#ifdef CONFIG_WIRELESS_EXT
#ifdef CONFIG_CFG80211_WEXT
	/* wext data */
	struct {
		struct cfg80211_ibss_params ibss;
Loading