linux-wireless.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* b43 depends on lots of modules
@ 2009-01-03  2:50 Jan Engelhardt
  2009-01-03  3:03 ` Larry Finger
  0 siblings, 1 reply; 5+ messages in thread
From: Jan Engelhardt @ 2009-01-03  2:50 UTC (permalink / raw)
  To: linux-wireless

Hi,

I noticed that the b43 module has a lot of dependencies, among:

depends:        pcmcia,mac80211,ssb,input-polldev,pcmcia_core,led-class,rfkill,rng-core,firmware_class

Why does it depend on PCMCIA when I hear that b43 devices are also 
available in PCI variants? Similarly, is SSB needed on x86en which
usually don't have such?

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

* Re: b43 depends on lots of modules
  2009-01-03  2:50 b43 depends on lots of modules Jan Engelhardt
@ 2009-01-03  3:03 ` Larry Finger
  2009-01-03  3:20   ` Jan Engelhardt
  0 siblings, 1 reply; 5+ messages in thread
From: Larry Finger @ 2009-01-03  3:03 UTC (permalink / raw)
  To: Jan Engelhardt; +Cc: linux-wireless

Jan Engelhardt wrote:
> Hi,
> 
> I noticed that the b43 module has a lot of dependencies, among:
> 
> depends:        pcmcia,mac80211,ssb,input-polldev,pcmcia_core,led-class,rfkill,rng-core,firmware_class
> 
> Why does it depend on PCMCIA when I hear that b43 devices are also 
> available in PCI variants? Similarly, is SSB needed on x86en which
> usually don't have such?

B43 only depends on PCMCIA if that option is selected in the
configuration. Mine doesn't, but most distros will. Ssb is the PCI
driver for b43. If you have a PCI device, then you need it. Ssb was
split out because it is shared among b43, b43legacy and b44.

Larry

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

* Re: b43 depends on lots of modules
  2009-01-03  3:03 ` Larry Finger
@ 2009-01-03  3:20   ` Jan Engelhardt
  2009-01-03  4:20     ` Larry Finger
  0 siblings, 1 reply; 5+ messages in thread
From: Jan Engelhardt @ 2009-01-03  3:20 UTC (permalink / raw)
  To: Larry Finger; +Cc: linux-wireless


On Saturday 2009-01-03 04:03, Larry Finger wrote:

>Jan Engelhardt wrote:
>> Hi,
>> 
>> I noticed that the b43 module has a lot of dependencies, among:
>> 
>> depends:        pcmcia,mac80211,ssb,input-polldev,pcmcia_core,led-class,rfkill,rng-core,firmware_class
>> 
>> Why does it depend on PCMCIA when I hear that b43 devices are also 
>> available in PCI variants? Similarly, is SSB needed on x86en which
>> usually don't have such?
>
>B43 only depends on PCMCIA if that option is selected in the
>configuration. Mine doesn't, but most distros will. Ssb is the PCI
>driver for b43. If you have a PCI device, then you need it. Ssb was
>split out because it is shared among b43, b43legacy and b44.

It's because the Kconfig description says SSB is for embedded systems,
come thinking WRT54, so I wondered what exactly requires SSB.
Is it some bus within the wireless chip itself?


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

* Re: b43 depends on lots of modules
  2009-01-03  3:20   ` Jan Engelhardt
@ 2009-01-03  4:20     ` Larry Finger
  2009-01-03 11:11       ` Michael Buesch
  0 siblings, 1 reply; 5+ messages in thread
From: Larry Finger @ 2009-01-03  4:20 UTC (permalink / raw)
  To: Jan Engelhardt; +Cc: linux-wireless

Jan Engelhardt wrote:
> 
> It's because the Kconfig description says SSB is for embedded systems,
> come thinking WRT54, so I wondered what exactly requires SSB.
> Is it some bus within the wireless chip itself?

That isn't quite what Kconfig says, which is

config SSB
        tristate "Sonics Silicon Backplane support"
        depends on SSB_POSSIBLE
        help
          Support for the Sonics Silicon Backplane bus.
          You only need to enable this option, if you are
          configuring a kernel for an embedded system with
          this bus.
          It will be auto-selected if needed in other
          environments.

          The module will be called ssb.

          If unsure, say N.


The text says that it will be auto-selected if needed for other
environments, and it will be for PCI-based BCM43XX devices.

Most, if not all, Broadcom devices consist of several cores of
different types that are interconnected by a Sonics Silicon Backplane
(ssb). On a BCM43XX device, two of these will be an IEEE 802.11 core
plus at least one bus interface. For example, in the BCM4312 now in my
machine I get

ssb: Core 0 found: ChipCommon (cc 0x800, rev 0x16, vendor 0x4243)
ssb: Core 1 found: IEEE 802.11 (cc 0x812, rev 0x0F, vendor 0x4243)
ssb: Core 2 found: PCMCIA (cc 0x80D, rev 0x0A, vendor 0x4243)
ssb: Core 3 found: PCI-E (cc 0x820, rev 0x09, vendor 0x4243)

As my device does not have a PCMCIA interface, that core is presumably
not attached, but the other 3 are active.

Before b43 was developed, all communications between the 802.11 core
and the PCI bus were handled by bcm43xx; however, that scheme meant
that code had to be duplicated for 3 different drivers. By splitting
out that part of the code, b43, b43legacy and b44 can share
considerable code. That is the module named ssb.

Larry


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

* Re: b43 depends on lots of modules
  2009-01-03  4:20     ` Larry Finger
@ 2009-01-03 11:11       ` Michael Buesch
  0 siblings, 0 replies; 5+ messages in thread
From: Michael Buesch @ 2009-01-03 11:11 UTC (permalink / raw)
  To: Larry Finger; +Cc: Jan Engelhardt, linux-wireless

On Saturday 03 January 2009 05:20:05 Larry Finger wrote:
> Jan Engelhardt wrote:
> > 
> > It's because the Kconfig description says SSB is for embedded systems,
> > come thinking WRT54, so I wondered what exactly requires SSB.
> > Is it some bus within the wireless chip itself?
> 
> That isn't quite what Kconfig says, which is
> 
> config SSB
>         tristate "Sonics Silicon Backplane support"
>         depends on SSB_POSSIBLE
>         help
>           Support for the Sonics Silicon Backplane bus.
>           You only need to enable this option, if you are
>           configuring a kernel for an embedded system with
>           this bus.
>           It will be auto-selected if needed in other
>           environments.
> 
>           The module will be called ssb.
> 
>           If unsure, say N.
> 
> 
> The text says that it will be auto-selected if needed for other
> environments, and it will be for PCI-based BCM43XX devices.
> 
> Most, if not all, Broadcom devices consist of several cores of
> different types that are interconnected by a Sonics Silicon Backplane
> (ssb). On a BCM43XX device, two of these will be an IEEE 802.11 core
> plus at least one bus interface. For example, in the BCM4312 now in my
> machine I get
> 
> ssb: Core 0 found: ChipCommon (cc 0x800, rev 0x16, vendor 0x4243)
> ssb: Core 1 found: IEEE 802.11 (cc 0x812, rev 0x0F, vendor 0x4243)
> ssb: Core 2 found: PCMCIA (cc 0x80D, rev 0x0A, vendor 0x4243)
> ssb: Core 3 found: PCI-E (cc 0x820, rev 0x09, vendor 0x4243)
> 
> As my device does not have a PCMCIA interface, that core is presumably
> not attached, but the other 3 are active.
> 
> Before b43 was developed, all communications between the 802.11 core
> and the PCI bus were handled by bcm43xx; however, that scheme meant
> that code had to be duplicated for 3 different drivers. By splitting
> out that part of the code, b43, b43legacy and b44 can share
> considerable code. That is the module named ssb.

It also meant that bcm43xx wouldn't run on embedded systems, where the
SSB bus is exposed to the other parts of the system.
On a PCI card the SSB bus is inside of the wireless chip only.
On embedded the SSB bus is used as the main system bus.
That's the reason we split it out.

So b43 requires SSB, because b43 is a SSB-device driver. Not a PCI-device driver.
So if you look into the code, you won't find a PCI-id-table, for example.

So yeah, all these dependencies are just normal for a configuration that
enables all options. You can reduce the deps by disabling PCMCMA, LEDS
and/or RFKILL, but I don't see why anybody would really want that anyway.

-- 
Greetings, Michael.

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

end of thread, other threads:[~2009-01-03 11:13 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2009-01-03  2:50 b43 depends on lots of modules Jan Engelhardt
2009-01-03  3:03 ` Larry Finger
2009-01-03  3:20   ` Jan Engelhardt
2009-01-03  4:20     ` Larry Finger
2009-01-03 11:11       ` Michael Buesch

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