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