Subject: Re: [PATCH] wireless: make WEXT_SPY and WEXT_PRIV select WEXT_CORE

From: Randy Dunlap <[email-masked]>
Date: Fri, 9 Oct 2009 09:06:01 -0700

On Thu, 08 Oct 2009 20:29:23 +0200 Johannes Berg wrote:

> On Thu, 2009-10-08 at 08:06 -0700, Randy Dunlap wrote:
> 
> > > It's kinda strange though that you can select wireless drivers without
> > > selecting WIRELESS. Maybe the solution is as simple as making WLAN
> > > (drivers/net/wireless/Kconfig) depend on WIRELESS?
> > 
> > Yes, I think that would be a very good start.
> 
> On the other hand, of course, the whole WIRELESS thing is somewhat
> stupid. How about this?
> 
> johannes
> 
> From: Johannes Berg <[email-masked]>
> Subject: wireless: make wireless drivers select core
> 
> It is somewhat non-sensical to allow selecting wireless
> drivers without showing wireless core code options, and
> since the wext refactoring this has made it possible to
> generate configurations that will not build. Avoid this
> and make wireless drivers select the wireless options.
> 
> Signed-off-by: Johannes Berg <[email-masked]>
> ---
>  drivers/net/wireless/Kconfig |    1 +
>  1 file changed, 1 insertion(+)
> 
> --- wireless-testing.orig/drivers/net/wireless/Kconfig	2009-10-08 20:25:04.000000000 +0200
> +++ wireless-testing/drivers/net/wireless/Kconfig	2009-10-08 20:27:38.000000000 +0200
> @@ -5,6 +5,7 @@
>  menuconfig WLAN
>  	bool "Wireless LAN"
>  	depends on !S390
> +	select WIRELESS
>  	default y
>  	---help---
>  	  This section contains all the pre 802.11 and 802.11 wireless

I suppose that's OK, although I prefer "depends" rather than "select".

I tracked down one of the problems that I was seeing:

net/wireless/wext-priv.c:206: error: implicit declaration of function 'call_commit_handler'

with:
# CONFIG_WIRELESS is not set
CONFIG_WIRELESS_EXT=y
CONFIG_WEXT_PRIV=y

This is being caused by several drivers in drivers/staging/ doing
	select WEXT_PRIV
without using either enough dependencies or even more (ugly) selects.
(or just because kconfig isn't sufficient)

---
~Randy