Hostap selects IEEE80211 and IEEE80211 selects NET_RADIO. This causes
recursive dependencies:

Warning! Found recursive dependency: HOSTAP IEEE80211 NET_RADIO HOSTAP
IEEE80211_CRYPT_WEP CRYPTO CRYPTO_ANUBIS
Warning! Found recursive dependency: HOSTAP IEEE80211 NET_RADIO HOSTAP
IEEE80211_CRYPT_WEP CRYPTO CRYPTO_MD4
Warning! Found recursive dependency: HOSTAP IEEE80211 NET_RADIO HOSTAP
IEEE80211_CRYPT_WEP CRYPTO CRYPTO_MD5
Warning! Found recursive dependency: HOSTAP IEEE80211 NET_RADIO HOSTAP
IEEE80211_CRYPT_WEP CRYPTO CRYPTO_AES_X86_64
Warning! Found recursive dependency: NET_RADIO HOSTAP IEEE80211 NET_RADIO
HERMES TMD_HERMES
Warning! Found recursive dependency: HOSTAP IEEE80211 NET_RADIO HOSTAP
HOSTAP_PCI
Warning! Found recursive dependency: NET_RADIO HOSTAP IEEE80211 NET_RADIO
WAVELAN

My proposal is to separate WIRELESS_EXTENSIONS from NET_RADIO
configuration and move it to net/Kconfig. I think it's more logical
to have it in the networking menu than deep inside the device drivers
menu.

Also, this simplifies the dependencies with IEEE80211 subsystem
because they would be now in the same menu. Now IEEE80211 wouldn't
depend on something which is in the device drivers menu. But, most
importantly, this way I have the means to break the recursive
dependency.

In my opinion, this change is compatible with old drivers because
NET_RADIO selects WIRELESS_ENTENSIONS, but I haven't tested that. I
have only tested the drivers in the netdev-2.6 branch.

Signed-off-by: Kalle Valo <[EMAIL PROTECTED]>

---

 drivers/net/wireless/Kconfig |   16 ++--------------
 net/Kconfig                  |   17 +++++++++++++++++
 net/core/dev.c               |    4 ++--
 net/socket.c                 |    4 ++--
 4 files changed, 23 insertions(+), 18 deletions(-)

fd3fa402af51c24180c65f3191abc006ac6e28c1
diff --git a/drivers/net/wireless/Kconfig b/drivers/net/wireless/Kconfig
--- a/drivers/net/wireless/Kconfig
+++ b/drivers/net/wireless/Kconfig
@@ -6,24 +6,12 @@ menu "Wireless LAN (non-hamradio)"
        depends on NETDEVICES
 
 config NET_RADIO
-       bool "Wireless LAN drivers (non-hamradio) & Wireless Extensions"
+       bool "Wireless LAN drivers (non-hamradio)"
+       select WIRELESS_EXTENSIONS
        ---help---
          Support for wireless LANs and everything having to do with radio,
          but not with amateur radio or FM broadcasting.
 
-         Saying Y here also enables the Wireless Extensions (creates
-         /proc/net/wireless and enables iwconfig access). The Wireless
-         Extension is a generic API allowing a driver to expose to the user
-         space configuration and statistics specific to common Wireless LANs.
-         The beauty of it is that a single set of tool can support all the
-         variations of Wireless LANs, regardless of their type (as long as
-         the driver supports Wireless Extension). Another advantage is that
-         these parameters may be changed on the fly without restarting the
-         driver (or Linux). If you wish to use Wireless Extensions with
-         wireless PCMCIA (PC-) cards, you need to say Y here; you can fetch
-         the tools from
-         <http://www.hpl.hp.com/personal/Jean_Tourrilhes/Linux/Tools.html>.
-
          Some user-level drivers for scarab devices which don't require
          special kernel support are available from
          <ftp://shadow.cabi.net/pub/Linux/>.
diff --git a/net/Kconfig b/net/Kconfig
--- a/net/Kconfig
+++ b/net/Kconfig
@@ -215,6 +215,23 @@ endmenu
 source "net/ax25/Kconfig"
 source "net/irda/Kconfig"
 source "net/bluetooth/Kconfig"
+
+config WIRELESS_EXTENSIONS
+       bool "Wireless Extensions"
+       ---help---
+         Saying Y here also enables the Wireless Extensions (creates
+         /proc/net/wireless and enables iwconfig access). The Wireless
+         Extension is a generic API allowing a driver to expose to the user
+         space configuration and statistics specific to common Wireless LANs.
+         The beauty of it is that a single set of tool can support all the
+         variations of Wireless LANs, regardless of their type (as long as
+         the driver supports Wireless Extension). Another advantage is that
+         these parameters may be changed on the fly without restarting the
+         driver (or Linux). If you wish to use Wireless Extensions with
+         wireless PCMCIA (PC-) cards, you need to say Y here; you can fetch
+         the tools from
+         <http://www.hpl.hp.com/personal/Jean_Tourrilhes/Linux/Tools.html>.
+
 source "net/ieee80211/Kconfig"
 
 endif   # if NET
diff --git a/net/core/dev.c b/net/core/dev.c
--- a/net/core/dev.c
+++ b/net/core/dev.c
@@ -109,10 +109,10 @@
 #include <linux/netpoll.h>
 #include <linux/rcupdate.h>
 #include <linux/delay.h>
-#ifdef CONFIG_NET_RADIO
+#ifdef CONFIG_WIRELESS_EXTENSIONS
 #include <linux/wireless.h>            /* Note : will define WIRELESS_EXT */
 #include <net/iw_handler.h>
-#endif /* CONFIG_NET_RADIO */
+#endif /* CONFIG_WIRELESS_EXTENSIONS */
 #include <asm/current.h>
 
 /*
diff --git a/net/socket.c b/net/socket.c
--- a/net/socket.c
+++ b/net/socket.c
@@ -85,9 +85,9 @@
 #include <linux/kmod.h>
 #include <linux/audit.h>
 
-#ifdef CONFIG_NET_RADIO
+#ifdef CONFIG_WIRELESS_EXTENSIONS
 #include <linux/wireless.h>            /* Note : will define WIRELESS_EXT */
-#endif /* CONFIG_NET_RADIO */
+#endif /* CONFIG_WIRELESS_EXTENSIONS */
 
 #include <asm/uaccess.h>
 #include <asm/unistd.h>

-
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to