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