linux-wireless.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [RFC][PATCH] b43: drop SSB dependency
@ 2014-05-10 14:44 Rafał Miłecki
  2014-05-10 15:17 ` Michael Büsch
  2014-05-10 17:14 ` [PATCH V2] " Rafał Miłecki
  0 siblings, 2 replies; 8+ messages in thread
From: Rafał Miłecki @ 2014-05-10 14:44 UTC (permalink / raw)
  To: linux-wireless, John W. Linville; +Cc: b43-dev, Rafał Miłecki

This adds choice submenu "Supported bus types" as two simple bool
configs would allow user to compile b43 without any bus support
(prety useless).

Signed-off-by: Rafał Miłecki <zajec5@gmail.com>
---
I'm far from being a Kconfig expert, so a detailed review is more than welcome.
---
 drivers/net/wireless/b43/Kconfig | 36 ++++++++++++++++++++++++++++--------
 1 file changed, 28 insertions(+), 8 deletions(-)

diff --git a/drivers/net/wireless/b43/Kconfig b/drivers/net/wireless/b43/Kconfig
index ce937a9..9c5898d 100644
--- a/drivers/net/wireless/b43/Kconfig
+++ b/drivers/net/wireless/b43/Kconfig
@@ -1,7 +1,6 @@
 config B43
 	tristate "Broadcom 43xx wireless support (mac80211 stack)"
-	depends on SSB_POSSIBLE && MAC80211 && HAS_DMA
-	select SSB
+	depends on (BCMA_POSSIBLE || SSB_POSSIBLE) && MAC80211 && HAS_DMA
 	select FW_LOADER
 	---help---
 	  b43 is a driver for the Broadcom 43xx series wireless devices.
@@ -27,14 +26,35 @@ config B43
 	  If unsure, say M.
 
 config B43_BCMA
-	bool "Support for BCMA bus"
-	depends on B43 && (BCMA = y || BCMA = B43)
-	default y
+	bool
+	depends on B43
 
 config B43_SSB
 	bool
-	depends on B43 && (SSB = y || SSB = B43)
-	default y
+	depends on B43
+
+choice
+	prompt "Supported bus types"
+	depends on B43
+	default B43_BCMA_AND_SSB
+
+config B43_BUSES_BCMA_AND_SSB
+	bool "BCMA and SSB"
+	depends on BCMA_POSSIBLE && SSB_POSSIBLE
+	select B43_BCMA
+	select B43_SSB
+
+config B43_BUSES_BCMA
+	bool "BCMA only"
+	depends on BCMA_POSSIBLE
+	select B43_BCMA
+
+config B43_BUSES_SSB
+	bool "SSB only"
+	depends on SSB_POSSIBLE
+	select B43_SSB
+
+endchoice
 
 # Auto-select SSB PCI-HOST support, if possible
 config B43_PCI_AUTOSELECT
@@ -98,7 +118,7 @@ config B43_BCMA_PIO
 
 config B43_PIO
 	bool
-	depends on B43
+	depends on B43 && B43_SSB
 	select SSB_BLOCKIO
 	default y
 
-- 
1.8.4.5


^ permalink raw reply related	[flat|nested] 8+ messages in thread

* Re: [RFC][PATCH] b43: drop SSB dependency
  2014-05-10 14:44 [RFC][PATCH] b43: drop SSB dependency Rafał Miłecki
@ 2014-05-10 15:17 ` Michael Büsch
  2014-05-10 16:12   ` Rafał Miłecki
  2014-05-10 17:14 ` [PATCH V2] " Rafał Miłecki
  1 sibling, 1 reply; 8+ messages in thread
From: Michael Büsch @ 2014-05-10 15:17 UTC (permalink / raw)
  To: Rafał Miłecki; +Cc: linux-wireless, John W. Linville, b43-dev

[-- Attachment #1: Type: text/plain, Size: 1301 bytes --]

On Sat, 10 May 2014 16:44:48 +0200
Rafał Miłecki <zajec5@gmail.com> wrote:

>  config B43_BCMA
> -	bool "Support for BCMA bus"
> -	depends on B43 && (BCMA = y || BCMA = B43)
> -	default y
> +	bool
> +	depends on B43

A dependency on a purely selected option is ignored.
So I think you can remove this one as well.

>  config B43_SSB
>  	bool
> -	depends on B43 && (SSB = y || SSB = B43)
> -	default y
> +	depends on B43

Same here.

> +choice
> +	prompt "Supported bus types"
> +	depends on B43
> +	default B43_BCMA_AND_SSB
> +
> +config B43_BUSES_BCMA_AND_SSB
> +	bool "BCMA and SSB"
> +	depends on BCMA_POSSIBLE && SSB_POSSIBLE

I think this needs to be:

	depends on (BCMA_POSSIBLE && (BCMA = y || BCMA = B43)) && (SSB_POSSIBLE && (SSB = y || SSB = B43))

to avoid the case where b43 is y and ssb or bcma is m.
Or did I miss something and this is caught elsewhere?

> +	select B43_BCMA
> +	select B43_SSB
> +
> +config B43_BUSES_BCMA
> +	bool "BCMA only"
> +	depends on BCMA_POSSIBLE

Similar here.

> +	select B43_BCMA
> +
> +config B43_BUSES_SSB
> +	bool "SSB only"
> +	depends on SSB_POSSIBLE

And here.

> +	select B43_SSB
> +
> +endchoice


-- 
Michael.

----
Please use PGP/GPG encryption.
Key-ID: F532BE1D908D8B0E
--------

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 836 bytes --]

^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: [RFC][PATCH] b43: drop SSB dependency
  2014-05-10 15:17 ` Michael Büsch
@ 2014-05-10 16:12   ` Rafał Miłecki
  2014-05-10 16:36     ` Michael Büsch
  0 siblings, 1 reply; 8+ messages in thread
From: Rafał Miłecki @ 2014-05-10 16:12 UTC (permalink / raw)
  To: Michael Büsch; +Cc: linux-wireless, John W. Linville, b43-dev

On 10 May 2014 17:17, Michael Büsch <m@bues.ch> wrote:
> On Sat, 10 May 2014 16:44:48 +0200
> Rafał Miłecki <zajec5@gmail.com> wrote:
>> +config B43_BUSES_BCMA_AND_SSB
>> +     bool "BCMA and SSB"
>> +     depends on BCMA_POSSIBLE && SSB_POSSIBLE
>
> I think this needs to be:
>
>         depends on (BCMA_POSSIBLE && (BCMA = y || BCMA = B43)) && (SSB_POSSIBLE && (SSB = y || SSB = B43))
>
> to avoid the case where b43 is y and ssb or bcma is m.
> Or did I miss something and this is caught elsewhere?

Oh, wait, I think I meant B43_BUSES_BCMA_AND_SSB to select BCMA and
SSB (so user doesn't have to enable BCMA and SSB on his own). It it
the way it's handled without my patch (B43 select-s SSB).

I'd like to add
select BCMA
select SSB
, but this won't guarantee BCMA (or SSB) being "y" after choosing B43
to "y". Or will it?

Any idea how to handle that?

^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: [RFC][PATCH] b43: drop SSB dependency
  2014-05-10 16:12   ` Rafał Miłecki
@ 2014-05-10 16:36     ` Michael Büsch
  2014-05-10 17:05       ` Rafał Miłecki
  0 siblings, 1 reply; 8+ messages in thread
From: Michael Büsch @ 2014-05-10 16:36 UTC (permalink / raw)
  To: Rafał Miłecki; +Cc: linux-wireless, John W. Linville, b43-dev

[-- Attachment #1: Type: text/plain, Size: 1393 bytes --]

On Sat, 10 May 2014 18:12:15 +0200
Rafał Miłecki <zajec5@gmail.com> wrote:

> On 10 May 2014 17:17, Michael Büsch <m@bues.ch> wrote:
> > On Sat, 10 May 2014 16:44:48 +0200
> > Rafał Miłecki <zajec5@gmail.com> wrote:
> >> +config B43_BUSES_BCMA_AND_SSB
> >> +     bool "BCMA and SSB"
> >> +     depends on BCMA_POSSIBLE && SSB_POSSIBLE
> >
> > I think this needs to be:
> >
> >         depends on (BCMA_POSSIBLE && (BCMA = y || BCMA = B43)) && (SSB_POSSIBLE && (SSB = y || SSB = B43))
> >
> > to avoid the case where b43 is y and ssb or bcma is m.
> > Or did I miss something and this is caught elsewhere?
> 
> Oh, wait, I think I meant B43_BUSES_BCMA_AND_SSB to select BCMA and
> SSB (so user doesn't have to enable BCMA and SSB on his own). It it
> the way it's handled without my patch (B43 select-s SSB).
> 
> I'd like to add
> select BCMA
> select SSB
> , but this won't guarantee BCMA (or SSB) being "y" after choosing B43
> to "y". Or will it?

I'm currently unsure.
You probably want to add select SSB to config B43_SSB and the same for B43_BCMA.

> Any idea how to handle that?

The (SSB = y || SSB = B43) dependency is supposed to handle that.
And it was required in the past. But maybe it's not required anymore
due to other changes. I'm not sure.


-- 
Michael.

----
Please use PGP/GPG encryption.
Key-ID: F532BE1D908D8B0E
--------

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 836 bytes --]

^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: [RFC][PATCH] b43: drop SSB dependency
  2014-05-10 16:36     ` Michael Büsch
@ 2014-05-10 17:05       ` Rafał Miłecki
  2014-05-10 17:27         ` Michael Büsch
  0 siblings, 1 reply; 8+ messages in thread
From: Rafał Miłecki @ 2014-05-10 17:05 UTC (permalink / raw)
  To: Michael Büsch; +Cc: linux-wireless, John W. Linville, b43-dev

On 10 May 2014 18:36, Michael Büsch <m@bues.ch> wrote:
> On Sat, 10 May 2014 18:12:15 +0200
> Rafał Miłecki <zajec5@gmail.com> wrote:
>
>> On 10 May 2014 17:17, Michael Büsch <m@bues.ch> wrote:
>> > On Sat, 10 May 2014 16:44:48 +0200
>> > Rafał Miłecki <zajec5@gmail.com> wrote:
>> >> +config B43_BUSES_BCMA_AND_SSB
>> >> +     bool "BCMA and SSB"
>> >> +     depends on BCMA_POSSIBLE && SSB_POSSIBLE
>> >
>> > I think this needs to be:
>> >
>> >         depends on (BCMA_POSSIBLE && (BCMA = y || BCMA = B43)) && (SSB_POSSIBLE && (SSB = y || SSB = B43))
>> >
>> > to avoid the case where b43 is y and ssb or bcma is m.
>> > Or did I miss something and this is caught elsewhere?
>>
>> Oh, wait, I think I meant B43_BUSES_BCMA_AND_SSB to select BCMA and
>> SSB (so user doesn't have to enable BCMA and SSB on his own). It it
>> the way it's handled without my patch (B43 select-s SSB).
>>
>> I'd like to add
>> select BCMA
>> select SSB
>> , but this won't guarantee BCMA (or SSB) being "y" after choosing B43
>> to "y". Or will it?
>
> I'm currently unsure.
> You probably want to add select SSB to config B43_SSB and the same for B43_BCMA.

I've just tried this, however this will force SSB to be "y" (even if
B43 is "m"). We have to select BCMA/SSB from non-bool configs.
This lead me to the idea of select-ing SSB and BCMA in "B43" depending
on the B43_BCMA and B43_SSB. That should make the trick. I'll test it
and submit V2.

^ permalink raw reply	[flat|nested] 8+ messages in thread

* [PATCH V2] b43: drop SSB dependency
  2014-05-10 14:44 [RFC][PATCH] b43: drop SSB dependency Rafał Miłecki
  2014-05-10 15:17 ` Michael Büsch
@ 2014-05-10 17:14 ` Rafał Miłecki
  2014-05-10 17:24   ` Rafał Miłecki
  1 sibling, 1 reply; 8+ messages in thread
From: Rafał Miłecki @ 2014-05-10 17:14 UTC (permalink / raw)
  To: linux-wireless, John W. Linville; +Cc: b43-dev, Rafał Miłecki

This adds choice submenu "Supported bus types" as two simple bool
configs would allow user to compile b43 without any bus support
(prety useless).

Signed-off-by: Rafał Miłecki <zajec5@gmail.com>
---
V2: Drop "depends" from B43_BCMA and B43_SSB, as Michael noticed - it didn't
    make much sense.
    Auto-select BCMA/SSB in B43 config. This keeps user-friendly behavior that
    existed up to now (it's extended to hover BCMA as well). It also assures
    B43 won't be "y" with BCMA/SSB being "m".
---
 drivers/net/wireless/b43/Kconfig | 36 ++++++++++++++++++++++++++++--------
 1 file changed, 28 insertions(+), 8 deletions(-)

diff --git a/drivers/net/wireless/b43/Kconfig b/drivers/net/wireless/b43/Kconfig
index ce937a9..8d1c3ab 100644
--- a/drivers/net/wireless/b43/Kconfig
+++ b/drivers/net/wireless/b43/Kconfig
@@ -1,7 +1,8 @@
 config B43
 	tristate "Broadcom 43xx wireless support (mac80211 stack)"
-	depends on SSB_POSSIBLE && MAC80211 && HAS_DMA
-	select SSB
+	depends on (BCMA_POSSIBLE || SSB_POSSIBLE) && MAC80211 && HAS_DMA
+	select BCMA if B43_BCMA
+	select SSB if B43_SSB
 	select FW_LOADER
 	---help---
 	  b43 is a driver for the Broadcom 43xx series wireless devices.
@@ -27,14 +28,33 @@ config B43
 	  If unsure, say M.
 
 config B43_BCMA
-	bool "Support for BCMA bus"
-	depends on B43 && (BCMA = y || BCMA = B43)
-	default y
+	bool
 
 config B43_SSB
 	bool
-	depends on B43 && (SSB = y || SSB = B43)
-	default y
+
+choice
+	prompt "Supported bus types"
+	depends on B43
+	default B43_BCMA_AND_SSB
+
+config B43_BUSES_BCMA_AND_SSB
+	bool "BCMA and SSB"
+	depends on BCMA_POSSIBLE && SSB_POSSIBLE
+	select B43_BCMA
+	select B43_SSB
+
+config B43_BUSES_BCMA
+	bool "BCMA only"
+	depends on BCMA_POSSIBLE
+	select B43_BCMA
+
+config B43_BUSES_SSB
+	bool "SSB only"
+	depends on SSB_POSSIBLE
+	select B43_SSB
+
+endchoice
 
 # Auto-select SSB PCI-HOST support, if possible
 config B43_PCI_AUTOSELECT
@@ -98,7 +118,7 @@ config B43_BCMA_PIO
 
 config B43_PIO
 	bool
-	depends on B43
+	depends on B43 && B43_SSB
 	select SSB_BLOCKIO
 	default y
 
-- 
1.8.4.5


^ permalink raw reply related	[flat|nested] 8+ messages in thread

* Re: [PATCH V2] b43: drop SSB dependency
  2014-05-10 17:14 ` [PATCH V2] " Rafał Miłecki
@ 2014-05-10 17:24   ` Rafał Miłecki
  0 siblings, 0 replies; 8+ messages in thread
From: Rafał Miłecki @ 2014-05-10 17:24 UTC (permalink / raw)
  To: linux-wireless, John W. Linville; +Cc: b43-dev, Rafał Miłecki

On 10 May 2014 19:14, Rafał Miłecki <zajec5@gmail.com> wrote:
> This adds choice submenu "Supported bus types" as two simple bool
> configs would allow user to compile b43 without any bus support
> (prety useless).

John: please make sure this one goes *after*
[PATCH V2] b43: adjust code to compile without SSB

I could do better and send it as a patchset, my bad, sorry.

^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: [RFC][PATCH] b43: drop SSB dependency
  2014-05-10 17:05       ` Rafał Miłecki
@ 2014-05-10 17:27         ` Michael Büsch
  0 siblings, 0 replies; 8+ messages in thread
From: Michael Büsch @ 2014-05-10 17:27 UTC (permalink / raw)
  To: Rafał Miłecki; +Cc: linux-wireless, John W. Linville, b43-dev

[-- Attachment #1: Type: text/plain, Size: 697 bytes --]

On Sat, 10 May 2014 19:05:33 +0200
Rafał Miłecki <zajec5@gmail.com> wrote:

> > I'm currently unsure.
> > You probably want to add select SSB to config B43_SSB and the same for B43_BCMA.
> 
> I've just tried this, however this will force SSB to be "y" (even if
> B43 is "m"). We have to select BCMA/SSB from non-bool configs.

Hm, OK makes sense.

> This lead me to the idea of select-ing SSB and BCMA in "B43" depending
> on the B43_BCMA and B43_SSB. That should make the trick. I'll test it
> and submit V2.

Could work, if you drop the unnecessary B43 dependency in those options.


-- 
Michael.

----
Please use PGP/GPG encryption.
Key-ID: F532BE1D908D8B0E
--------

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 836 bytes --]

^ permalink raw reply	[flat|nested] 8+ messages in thread

end of thread, other threads:[~2014-05-10 17:27 UTC | newest]

Thread overview: 8+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2014-05-10 14:44 [RFC][PATCH] b43: drop SSB dependency Rafał Miłecki
2014-05-10 15:17 ` Michael Büsch
2014-05-10 16:12   ` Rafał Miłecki
2014-05-10 16:36     ` Michael Büsch
2014-05-10 17:05       ` Rafał Miłecki
2014-05-10 17:27         ` Michael Büsch
2014-05-10 17:14 ` [PATCH V2] " Rafał Miłecki
2014-05-10 17:24   ` Rafał Miłecki

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).