Patchwork lib80211: make lib80211 can be enabled independently

login
register
mail settings
Submitter Wang YanQing
Date April 4, 2013, 4:01 p.m.
Message ID <20130404160130.GA2577@udknight>
Download mbox | patch
Permalink /patch/233872/
State Not Applicable
Delegated to: David Miller
Headers show

Comments

Wang YanQing - April 4, 2013, 4:01 p.m.
Current we can only enable lib80211 by enable a driver
in tree use it which will select it, but some out tree's
drivers also use it, so I think it has sense to make lib80211
can be enabled independently.

A example of the out tree's drivers use lib80211 is:
hybird driver(wl) for Broadcom Corporation BCM43225 802.11b/g/n

Signed-off-by: Wang YanQing <udknight@gmail.com>
---
 net/wireless/Kconfig | 22 +++++++++++++++++-----
 1 file changed, 17 insertions(+), 5 deletions(-)
Johannes Berg - April 4, 2013, 4:05 p.m.
On Fri, 2013-04-05 at 00:01 +0800, Wang YanQing wrote:
> Current we can only enable lib80211 by enable a driver
> in tree use it which will select it, but some out tree's
> drivers also use it, so I think it has sense to make lib80211
> can be enabled independently.
> 
> A example of the out tree's drivers use lib80211 is:
> hybird driver(wl) for Broadcom Corporation BCM43225 802.11b/g/n

Tough luck.

NACK.

johannes

--
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Julian Calaby - April 4, 2013, 11:51 p.m.
Hi Wang,

On Fri, Apr 5, 2013 at 3:01 AM, Wang YanQing <udknight@gmail.com> wrote:
>
> Current we can only enable lib80211 by enable a driver
> in tree use it which will select it, but some out tree's
> drivers also use it, so I think it has sense to make lib80211
> can be enabled independently.

Just as a bit of explanation for Johannes' NACK:

1. The only reason lib80211 still exists is because a couple of
in-tree drivers still use it. If this weren't the case, the code would
have been removed a long time ago as it's been completely replaced by
mac80211 and cfg80211. All modern drivers _must_ use mac80211 or
cfg80211 without exception.
2. In general, there is no official in-kernel support for
out-of-kernel drivers, regardless of quality, status or importance.
3. I believe that the in-tree brcmsmac driver already supports the
Broadcom card you reference.

Thanks,

--
Julian Calaby

Email: julian.calaby@gmail.com
Profile: http://www.google.com/profiles/julian.calaby/
.Plan: http://sites.google.com/site/juliancalaby/
--
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Randy Dunlap - April 5, 2013, 4:01 a.m.
On 04/04/13 16:51, Julian Calaby wrote:
> Hi Wang,
> 
> On Fri, Apr 5, 2013 at 3:01 AM, Wang YanQing <udknight@gmail.com> wrote:
>>
>> Current we can only enable lib80211 by enable a driver
>> in tree use it which will select it, but some out tree's
>> drivers also use it, so I think it has sense to make lib80211
>> can be enabled independently.
> 
> Just as a bit of explanation for Johannes' NACK:
> 
> 1. The only reason lib80211 still exists is because a couple of
> in-tree drivers still use it. If this weren't the case, the code would
> have been removed a long time ago as it's been completely replaced by
> mac80211 and cfg80211. All modern drivers _must_ use mac80211 or
> cfg80211 without exception.
> 2. In general, there is no official in-kernel support for
> out-of-kernel drivers, regardless of quality, status or importance.
> 3. I believe that the in-tree brcmsmac driver already supports the
> Broadcom card you reference.


3b.  If 3. is not correct, someone should endeavor to merge this
out-of-tree driver into the kernel tree.
Wang YanQing - April 5, 2013, 5:45 a.m.
On Fri, Apr 05, 2013 at 10:51:30AM +1100, Julian Calaby wrote:
> Just as a bit of explanation for Johannes' NACK:
> 
> 1. The only reason lib80211 still exists is because a couple of
> in-tree drivers still use it. If this weren't the case, the code would
> have been removed a long time ago as it's been completely replaced by
> mac80211 and cfg80211. All modern drivers _must_ use mac80211 or
> cfg80211 without exception.
> 2. In general, there is no official in-kernel support for
> out-of-kernel drivers, regardless of quality, status or importance.
> 3. I believe that the in-tree brcmsmac driver already supports the
> Broadcom card you reference.

Hi Julian.

Thanks for your complete explanation.
I have tried in-tree brcmsmac driver and it works well,
I use it to send out this email! This is wonderful, then
I don't need to fix compilation errors about the old, ugly
and closed wl driver for my notebook with BCM43225 802.11b/g/n
every time I upgrade kernel.

Thanks Julian and all.
--
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Arend van Spriel - April 5, 2013, 7:23 a.m.
On 04/05/2013 01:51 AM, Julian Calaby wrote:
> Hi Wang,
>
> On Fri, Apr 5, 2013 at 3:01 AM, Wang YanQing <udknight@gmail.com> wrote:
>>
>> Current we can only enable lib80211 by enable a driver
>> in tree use it which will select it, but some out tree's
>> drivers also use it, so I think it has sense to make lib80211
>> can be enabled independently.
>
> Just as a bit of explanation for Johannes' NACK:
>
> 3. I believe that the in-tree brcmsmac driver already supports the
> Broadcom card you reference.

That is correct.

Gr. AvS

--
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Arend van Spriel - April 5, 2013, 7:25 a.m.
On 04/05/2013 06:01 AM, Randy Dunlap wrote:
> On 04/04/13 16:51, Julian Calaby wrote:
>> Hi Wang,
>>
>> On Fri, Apr 5, 2013 at 3:01 AM, Wang YanQing <udknight@gmail.com> wrote:
>>>
>>> Current we can only enable lib80211 by enable a driver
>>> in tree use it which will select it, but some out tree's
>>> drivers also use it, so I think it has sense to make lib80211
>>> can be enabled independently.
>>
>> Just as a bit of explanation for Johannes' NACK:
>>
>> 1. The only reason lib80211 still exists is because a couple of
>> in-tree drivers still use it. If this weren't the case, the code would
>> have been removed a long time ago as it's been completely replaced by
>> mac80211 and cfg80211. All modern drivers _must_ use mac80211 or
>> cfg80211 without exception.
>> 2. In general, there is no official in-kernel support for
>> out-of-kernel drivers, regardless of quality, status or importance.
>> 3. I believe that the in-tree brcmsmac driver already supports the
>> Broadcom card you reference.
>
>
> 3b.  If 3. is not correct, someone should endeavor to merge this
> out-of-tree driver into the kernel tree.

Actually, it is correct and brcmsmac and the out-of-tree wl driver are 
coming from the same code base although you should not compare the two 
these days.

Gr. AvS


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

Patch

diff --git a/net/wireless/Kconfig b/net/wireless/Kconfig
index 16d08b3..6e83f0a 100644
--- a/net/wireless/Kconfig
+++ b/net/wireless/Kconfig
@@ -140,22 +140,34 @@  config CFG80211_WEXT
 	  extensions with cfg80211-based drivers.
 
 config LIB80211
-	tristate
+	tristate "common routines used by IEEE802.11 wireless LAN drivers"
 	default n
 	help
 	  This options enables a library of common routines used
 	  by IEEE802.11 wireless LAN drivers.
 
-	  Drivers should select this themselves if needed.
+	  Drivers could select this themselves if needed.
 
 config LIB80211_CRYPT_WEP
-	tristate
+	tristate "host-based WEP encryption implementation for lib80211"
+	depends on LIB80211
+	default n
+	---help---
+	   host-based WEP encryption implementation for lib80211
 
 config LIB80211_CRYPT_CCMP
-	tristate
+	tristate "host-based CCMP encryption implementation for lib80211"
+	depends on LIB80211
+	default n
+	---help---
+	   host-based CCMP encryption implementation for lib80211
 
 config LIB80211_CRYPT_TKIP
-	tristate
+	tristate "host-based TKIP encryption implementation for lib80211"
+	depends on LIB80211
+	default n
+	---help---
+	    host-based TKIP encryption implementation for lib80211
 
 config LIB80211_DEBUG
 	bool "lib80211 debugging messages"