d80211: create net/wireless/Kconfig and make nl80211 optional
Subsystems (2)
PATCH 1/1 d80211: create net/wireless/Kconfig and make nl80211 optional
Move the wireless Kconfig options into their own wireless/Kconfig and add a CONFIG_CFG80211_NL80211 configuration option to allow nl80211 support to be optionally included (default =y)
This also adds Johannes' stub functions for nl80211_init and nl80211_exit when CONFIG_CFG80211_NL80211 is not defined.
--- net/wireless/Kconfig | 42 ++++++++++++++++++++++++++++++++++++++++++ net/wireless/Makefile | 3 ++- 3 files changed, 45 insertions(+), 17 deletions(-)
---
net/wireless/Kconfig new file +42 -0
@@ -0,0 +1,42 @@ +config CFG80211 + tristate "Improved wireless configuration API" + select WIRELESS_EXT + +config CFG80211_WEXT_COMPAT + bool "cfg80211 Wireless Extensions compatibility" + depends CFG80211 + default y + ---help--- + This option allows using devices whose drivers have been + converted to use the new cfg80211 with wireless extensions, + providing WE-20 compatibility. + + Note that cfg80211's "native" interface is nl80211 using + generic netlink. The wireless extensions are being + deprecated, but userspace tools may still be using them. + + NOTE: wireless extension support (WIRELESS_EXT) is currently a + built-in based on 'Wireless Extension' support (selected + when CFG80211 is enabled). + + If unsure, say Y. + +config CFG80211_NL80211 + tristate "nl80211 new netlink interface support" + depends CFG80211 + default y + ---help--- + This option turns on the new netlink interface + (nl80211) support in cfg80211. + + If =n, drivers using d80211 will be configured via + wireless extension support provided by that subsystem. + + If =m, the module will be called nl80211.ko + + NOTE: wireless extension support (WIRELESS_EXT) is currently a + built-in based on 'Wireless Extension' support (selected + when CFG80211 is enabled). + + If unsure, say Y. +
net/wireless/Makefile +2 -1
@@ -1,6 +1,7 @@ obj-$(CONFIG_CFG80211) += cfg80211.o -cfg80211-y += core.o sysfs.o nl80211.o +cfg80211-y += core.o sysfs.o +cfg80211-$(CONFIG_NL80211) += nl80211.o cfg80211-$(CONFIG_CFG80211_WEXT_COMPAT) += wext-compat.o ifeq ($(CONFIG_CFG80211),m)
net/wireless/nl80211.h +10 -0
@@ -1,7 +1,17 @@#ifndef __NET_WIRELESS_NL80211_H#define __NET_WIRELESS_NL80211_H +#ifdef CONFIG_CFG80211_NL80211 extern int nl80211_init (void );extern void nl80211_exit (void ); +#else +static inline int nl80211_init (void ) +{ +return 0 ; +} +static inline void nl80211_exit (void ) +{ +} +#endif /* CONFIG_CFG80211_NL80211 */ #endif /* __NET_WIRELESS_NL80211_H */
Johannes Berg
maintainerQuoted 3 lines · James Ketrenos
Move the wireless
Kconfigoptions into their own wireless/Kconfig and add aCONFIG_CFG80211_NL80211configuration option to allow nl80211 support to be optionally included (default =y)
I think this one is missing the changes in net/Kconfig.
And I should have looked closer before, sorry.
+config CFG80211
+ tristate "Improved wireless configuration API"
+ select WIRELESS_EXT
Why is that select WIRELESS_EXT? CFG80211 doesn't need that, d80211 does and correctly selects it.
johannes
Quoted 13 lines · Johannes Berg
Quoted 3 lines · James Ketrenos
Move the wireless
Kconfigoptions into their own wireless/Kconfig and add aCONFIG_CFG80211_NL80211configuration option to allow nl80211 support to be optionally included (default =y)I think this one is missing the changes in net/Kconfig.
And I should have looked closer before, sorry.
net/wireless/Kconfig new file +3
-0+config CFG80211 + tristate "Improved wireless configuration API" + select WIRELESS_EXT
Quoted 2 lines
Why is that select
WIRELESS_EXT? CFG80211 doesn't need that, d80211 does and correctly selects it.
Confusion mostly...
I've removed it.
James
James Ketrenos
Acked-by Johannes BergOk... this time for sure. Maybe :) At least its Friday.
James
----
[PATCH] create net/wireless/Kconfig and make nl80211 optional
Move the wireless Kconfig options into their own wireless/Kconfig and add a CONFIG_NL80211 configuration option to allow nl80211 support to be optionally included (default =y)
This also implements stub functions for nl80211_init and nl80211_exit when CONFIG_NL80211 is not defined.
--- net/Kconfig | 17 +---------------- net/wireless/Kconfig | 33 +++++++++++++++++++++++++++++++++ net/wireless/Makefile | 3 ++- net/wireless/nl80211.h | 10 ++++++++++ 4 files changed, 46 insertions(+), 17 deletions(-)
---
net/Kconfig +1 -16
@@ -228,22 +228,7 @@ config WIRELESS_EXT config FIB_RULES bool -config CFG80211 - tristate "Improved wireless configuration API" - -config CFG80211_WEXT_COMPAT - bool "cfg80211 Wireless Extensions compatibility" - depends CFG80211 - default y - ---help--- - This option allows using devices whose drivers have been - converted to use the new cfg80211 with wireless extensions, - providing WE-20 compatibility. Note that cfg80211's "native" - interface is nl80211 using generic netlink. The wireless - extensions are being deprecated, but userspace tools may still - be using them. - - If unsure, say Y. +source "net/wireless/Kconfig" endif # if NET endmenu # Networking
net/wireless/Kconfig new file +33 -0
@@ -0,0 +1,33 @@ +config CFG80211 + tristate "Improved wireless configuration API" + +config CFG80211_WEXT_COMPAT + bool "cfg80211 Wireless Extensions compatibility" + depends CFG80211 + default y + ---help--- + This option allows using devices whose drivers have been + converted to use the new cfg80211 with wireless extensions, + providing WE-20 compatibility. + + Note that cfg80211's "native" interface is nl80211 using + generic netlink. The wireless extensions are being + deprecated, but userspace tools may still be using them. + + If unsure, say Y. + +config NL80211 + tristate "nl80211 new netlink interface support" + depends CFG80211 + default y + ---help--- + This option turns on the new netlink interface + (nl80211) support in cfg80211. + + If =n, drivers using d80211 will be configured via + wireless extension support provided by that subsystem. + + If =m, the module will be called nl80211.ko + + If unsure, say Y. +
net/wireless/Makefile +2 -1
@@ -1,6 +1,7 @@ obj-$(CONFIG_CFG80211) += cfg80211.o -cfg80211-y += core.o sysfs.o nl80211.o +cfg80211-y += core.o sysfs.o +cfg80211-$(CONFIG_NL80211) += nl80211.o cfg80211-$(CONFIG_CFG80211_WEXT_COMPAT) += wext-compat.o ifeq ($(CONFIG_CFG80211),m)
net/wireless/nl80211.h +10 -0
@@ -1,7 +1,17 @@#ifndef __NET_WIRELESS_NL80211_H#define __NET_WIRELESS_NL80211_H +#ifdef CONFIG_NL80211 extern int nl80211_init (void );extern void nl80211_exit (void ); +#else +static inline int nl80211_init (void ) +{ +return 0 ; +} +static inline void nl80211_exit (void ) +{ +} +#endif /* CONFIG_NL80211 */ #endif /* __NET_WIRELESS_NL80211_H */
Quoted 1 line · On Fri, 23 Feb 2007 13:47:37 -0800 James Ketrenos wrote:
Ok... this time for sure. Maybe :) At least its Friday.
almost ....
Quoted 54 lines
James
----
[PATCH] create
net/wireless/Kconfigand make nl80211 optional--- net/Kconfig | 17 +---------------- net/wireless/Kconfig | 33 +++++++++++++++++++++++++++++++++ net/wireless/Makefile | 3 ++- net/wireless/nl80211.h | 10 ++++++++++ 4 files changed, 46 insertions(+), 17 deletions(-)---
net/Kconfig +1
-16@@ -228,22 +228,7 @@ config WIRELESS_EXT config FIB_RULES bool -config CFG80211 - tristate "Improved wireless configuration API" - -config CFG80211_WEXT_COMPAT - bool "cfg80211 Wireless Extensions compatibility" - depends CFG80211 - default y - ---help--- - This option allows using devices whose drivers have been - converted to use the new cfg80211 with wireless extensions, - providing WE-20 compatibility. Note that cfg80211's "native" - interface is nl80211 using generic netlink. The wireless - extensions are being deprecated, but userspace tools may still - be using them. - - If unsure, say Y. +source "net/wireless/Kconfig" endif # if NET endmenu # Networkingnet/wireless/Kconfig new file +7
-0@@ -0,0 +1,33 @@ +config CFG80211 + tristate "Improved wireless configuration API" + +config CFG80211_WEXT_COMPAT + bool "cfg80211 Wireless Extensions compatibility" + depends CFG80211 + default y
net/wireless/Kconfig line 17
Quoted 10 lines
net/wireless/Kconfig new file +10
-0+ ---help--- + This option allows using devices whose drivers have been + converted to use the new cfg80211 with wireless extensions, + providing WE-20 compatibility. + + Note that cfg80211's "native" interface is nl80211 using + generic netlink. The wireless extensions are being + deprecated, but userspace tools may still be using them. + + If unsure, say Y.
All of the text under ---help--- should be (should have been :) indented 2 spaces... (yes, I know it wasn't before, but should have been).
---
~Randy
*** Remember to use Documentation/SubmitChecklist when testing your code ***
Johannes Berg
maintainerI guess this'll never end...
net/wireless/Makefile line 4
Quoted 3 lines
net/wireless/Makefile +2
-1-cfg80211-y += core.o sysfs.o nl80211.o +cfg80211-y += core.o sysfs.o +cfg80211-$(CONFIG_NL80211) += nl80211.o
That won't work correctly. To build nl80211 as an extra module you'll need obj-m += nl80211.o, but to build it into cfg80211 when it's NL80211=y you need cfg80211-y += nl80211.o
Could you live with it not being a module itself so we can just make it a boolean and use the current way it's done in the Makefile?
johannes
James Ketrenos
Acked-by Johannes BergQuoted 6 lines · Johannes Berg
I guess this'll never end...
Quoted 1 line
+cfg80211-$(CONFIG_NL80211) += nl80211.o
Could you live with it not being a module itself so we can just make it a boolean and use the current way it's done in the
Makefile?
Yup. I set it to a bool.
New patch (with Randy's feedback to indent help text w/ two spaces) below...
Thanks,
James
-------------------------
[PATCH] create net/wireless/Kconfig and make nl80211 optional
Move the wireless Kconfig options into their own wireless/Kconfig and add a CONFIG_NL80211 configuration option to allow nl80211 support to be optionally included (default =y)
This also implements stub functions for nl80211_init and nl80211_exit when CONFIG_NL80211 is not defined.
--- net/Kconfig | 17 +---------------- net/wireless/Kconfig | 33 +++++++++++++++++++++++++++++++++ net/wireless/Makefile | 3 ++- net/wireless/nl80211.h | 10 ++++++++++ 4 files changed, 46 insertions(+), 17 deletions(-)
---
net/Kconfig +1 -16
@@ -228,22 +228,7 @@ config WIRELESS_EXT config FIB_RULES bool -config CFG80211 - tristate "Improved wireless configuration API" - -config CFG80211_WEXT_COMPAT - bool "cfg80211 Wireless Extensions compatibility" - depends CFG80211 - default y - ---help--- - This option allows using devices whose drivers have been - converted to use the new cfg80211 with wireless extensions, - providing WE-20 compatibility. Note that cfg80211's "native" - interface is nl80211 using generic netlink. The wireless - extensions are being deprecated, but userspace tools may still - be using them. - - If unsure, say Y. +source "net/wireless/Kconfig" endif # if NET endmenu # Networking
net/wireless/Kconfig new file +31 -0
@@ -0,0 +1,31 @@ +config CFG80211 + tristate "Improved wireless configuration API" + +config CFG80211_WEXT_COMPAT + bool "cfg80211 Wireless Extensions compatibility" + depends CFG80211 + default y + ---help--- + This option allows using devices whose drivers have been + converted to use the new cfg80211 with wireless extensions, + providing WE-20 compatibility. + + Note that cfg80211's "native" interface is nl80211 using + generic netlink. The wireless extensions are being + deprecated, but userspace tools may still be using them. + + If unsure, say Y. + +config NL80211 + bool "nl80211 new netlink interface support" + depends CFG80211 + default y + ---help--- + This option turns on the new netlink interface + (nl80211) support in cfg80211. + + If =n, drivers using d80211 will be configured via + wireless extension support provided by that subsystem. + + If unsure, say Y. +
net/wireless/Makefile +2 -1
@@ -1,6 +1,7 @@ obj-$(CONFIG_CFG80211) += cfg80211.o -cfg80211-y += core.o sysfs.o nl80211.o +cfg80211-y += core.o sysfs.o +cfg80211-$(CONFIG_NL80211) += nl80211.o cfg80211-$(CONFIG_CFG80211_WEXT_COMPAT) += wext-compat.o ifeq ($(CONFIG_CFG80211),m)
net/wireless/nl80211.h +10 -0
@@ -1,7 +1,17 @@#ifndef __NET_WIRELESS_NL80211_H#define __NET_WIRELESS_NL80211_H +#ifdef CONFIG_NL80211 extern int nl80211_init (void );extern void nl80211_exit (void ); +#else +static inline int nl80211_init (void ) +{ +return 0 ; +} +static inline void nl80211_exit (void ) +{ +} +#endif /* CONFIG_NL80211 */ #endif /* __NET_WIRELESS_NL80211_H */
Hold on applying.
Quoted 1 line
+cfg80211-$(CONFIG_NL80211) += nl80211.o
Should have been
cfg80211-$(CONFIG_CFG80211_NL80211) += nl80211.o
Am looking at Johannes' email re: WIRELESS_EXT being selected as well. Will send a new version soon.
James
Johannes Berg
maintainerQuoted 7 lines · James Ketrenos
Hold on applying.
Quoted 1 line
+cfg80211-$(CONFIG_NL80211) += nl80211.o
Should have been
cfg80211-$(CONFIG_CFG80211_NL80211) += nl80211.o
Or maybe just rename it if it's already confusing you ;)
johannes