From: Dave <kilroyd@googlemail.com>
To: Johannes Berg <johannes@sipsolutions.net>
Cc: John Linville <linville@tuxdriver.com>,
Randy Dunlap <randy.dunlap@oracle.com>,
linux-wireless <linux-wireless@vger.kernel.org>,
Samuel Ortiz <samuel@sortiz.org>,
Jussi Kivilinna <jussi.kivilinna@mbnet.fi>
Subject: Re: [PATCH] cfg80211: fix Kconfig for users of cfg80211
Date: Wed, 03 Jun 2009 20:15:31 +0100 [thread overview]
Message-ID: <4A26CBD3.8050009@gmail.com> (raw)
In-Reply-To: <1244046631.4862.34.camel@johannes.local>
Johannes Berg wrote:
> * iwm doesn't depend on cfg80211 or wireless extensions
> * rndis wlan selects cfg80211 - needs to depend
> * mac80211 selects cfg80211 - needs to depend
Hmm. Consider:
1. User using a rndis_wlan device on old kernel with cfg80211 unselected.
2. Upgrades kernel with make old_config
Result: the rndis_wlan driver is no longer configured to build.
I don't think it's a big issue, as you can reconfigure and rebuild as
soon as you realise. But you may have to 'realise' without google access.
The only reason I'm thinking of this is because orinoco may be in the
same boat shortly. Ditto other wireless drivers as they get converted.
So I had a play with Kconfig. How about something like the patch below
instead?
cfg80211 should just get autoselected in the most appropriate mode, and
drivers get the same restrictions as cfg80211. The option setting
appears to work fine, but I haven't done any build testing.
It might be possible to chain things like this, so mac80211 could be
done in the same way. But I guess we wouldn't want too much of this
going on...
Dave.
---
diff --git a/drivers/net/wireless/Kconfig b/drivers/net/wireless/Kconfig
index a67d292..9038bd6 100644
--- a/drivers/net/wireless/Kconfig
+++ b/drivers/net/wireless/Kconfig
@@ -333,11 +333,12 @@ config USB_ZD1201
config USB_NET_RNDIS_WLAN
tristate "Wireless RNDIS USB support"
depends on USB && WLAN_80211 && EXPERIMENTAL
+ depends on CFG80211_AS_MODULE
select USB_USBNET
select USB_NET_CDCETHER
select USB_NET_RNDIS_HOST
select WIRELESS_EXT
- select CFG80211
+ select CFG80211_USED
---help---
This is a driver for wireless RNDIS devices.
These are USB based adapters found in devices such as:
diff --git a/net/mac80211/Kconfig b/net/mac80211/Kconfig
index 9cbf545..2de2bd8 100644
--- a/net/mac80211/Kconfig
+++ b/net/mac80211/Kconfig
@@ -1,12 +1,14 @@
+# If cfg80211 has to be configured as a module, so do we
config MAC80211
tristate "Generic IEEE 802.11 Networking Stack (mac80211)"
+ depends on CFG80211_AS_MODULE
select CRYPTO
select CRYPTO_ECB
select CRYPTO_ARC4
select CRYPTO_AES
select CRC32
select WIRELESS_EXT
- select CFG80211
+ select CFG80211_USED
---help---
This option enables the hardware independent IEEE 802.11
networking stack.
diff --git a/net/wireless/Kconfig b/net/wireless/Kconfig
index 4428dd5..d3f08c4 100644
--- a/net/wireless/Kconfig
+++ b/net/wireless/Kconfig
@@ -1,6 +1,23 @@
-config CFG80211
- tristate "Improved wireless configuration API"
+# Selected by drivers which use cfg80211
+config CFG80211_USED
+ tristate
+
+# Is cfg80211 restricted to being a module by its dependencies?
+# Drivers must depend on this so they inherit the restriction.
+#
+# Careful: m means that CFG80211 is restricted to being a module
+# Both n and y mean there is no restriction
+config CFG80211_AS_MODULE
+ tristate
depends on RFKILL || !RFKILL
+ default y
+
+# Avoid presenting a UI option so we inherit the value of CFG80211_USED
+# If one driver is set to m, and another to y, CFG80211_USED will be y.
+config CFG80211
+ tristate
+ depends on CFG80211_AS_MODULE
+ default CFG80211_USED
config CFG80211_REG_DEBUG
bool "cfg80211 regulatory debugging"
next prev parent reply other threads:[~2009-06-03 19:48 UTC|newest]
Thread overview: 7+ messages / expand[flat|nested] mbox.gz Atom feed top
2009-06-03 16:30 [PATCH] cfg80211: fix Kconfig for users of cfg80211 Johannes Berg
2009-06-03 17:18 ` Randy Dunlap
2009-06-03 19:15 ` Dave [this message]
2009-06-03 19:24 ` John W. Linville
2009-06-04 6:19 ` Johannes Berg
2009-06-03 23:58 ` Samuel Ortiz
2009-06-04 0:41 ` John W. Linville
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=4A26CBD3.8050009@gmail.com \
--to=kilroyd@googlemail.com \
--cc=johannes@sipsolutions.net \
--cc=jussi.kivilinna@mbnet.fi \
--cc=linux-wireless@vger.kernel.org \
--cc=linville@tuxdriver.com \
--cc=randy.dunlap@oracle.com \
--cc=samuel@sortiz.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
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).