Use a separate config option for the b43 pci to ssb bridge.
Alexey Zaytsev [Sat, 23 Feb 2008 09:59:26 +0000 (12:59 +0300)]
The bridge code was unnecessary enabled by the b44
driver, but it prevents the bcm43xx driver from
being loaded, as the bridge claims the same pci ids.

Now we enable the birdge only if the b43{legacy}
drivers are selected.

Signed-off-by: Alexey Zaytsev <alexey.zaytsev@gmail.com>
Acked-by: Larry Finger <Larry.Finger@lwfinger.net>
Signed-off-by: John W. Linville <linville@tuxdriver.com>

drivers/net/wireless/b43/Kconfig
drivers/net/wireless/b43legacy/Kconfig
drivers/ssb/Kconfig
drivers/ssb/Makefile
drivers/ssb/ssb_private.h

index 1a2141d..8bc4bc4 100644 (file)
@@ -32,6 +32,7 @@ config B43_PCI_AUTOSELECT
        bool
        depends on B43 && SSB_PCIHOST_POSSIBLE
        select SSB_PCIHOST
+       select SSB_B43_PCI_BRIDGE
        default y
 
 # Auto-select SSB PCICORE driver, if possible
index 6745579..13c65fa 100644 (file)
@@ -25,6 +25,7 @@ config B43LEGACY_PCI_AUTOSELECT
        bool
        depends on B43LEGACY && SSB_PCIHOST_POSSIBLE
        select SSB_PCIHOST
+       select SSB_B43_PCI_BRIDGE
        default y
 
 # Auto-select SSB PCICORE driver, if possible
index 78fd331..adea792 100644 (file)
@@ -35,6 +35,11 @@ config SSB_PCIHOST
 
          If unsure, say Y
 
+config SSB_B43_PCI_BRIDGE
+       bool
+       depends on SSB_PCIHOST
+       default n
+
 config SSB_PCMCIAHOST_POSSIBLE
        bool
        depends on SSB && (PCMCIA = y || PCMCIA = SSB) && EXPERIMENTAL
index e235144..de94c2e 100644 (file)
@@ -14,6 +14,6 @@ ssb-$(CONFIG_SSB_DRIVER_PCICORE)      += driver_pcicore.o
 
 # b43 pci-ssb-bridge driver
 # Not strictly a part of SSB, but kept here for convenience
-ssb-$(CONFIG_SSB_PCIHOST)              += b43_pci_bridge.o
+ssb-$(CONFIG_SSB_B43_PCI_BRIDGE)       += b43_pci_bridge.o
 
 obj-$(CONFIG_SSB)                      += ssb.o
index a789364..21eca2b 100644 (file)
@@ -120,10 +120,10 @@ extern int ssb_devices_thaw(struct ssb_bus *bus);
 extern struct ssb_bus *ssb_pci_dev_to_bus(struct pci_dev *pdev);
 
 /* b43_pci_bridge.c */
-#ifdef CONFIG_SSB_PCIHOST
+#ifdef CONFIG_SSB_B43_PCI_BRIDGE
 extern int __init b43_pci_ssb_bridge_init(void);
 extern void __exit b43_pci_ssb_bridge_exit(void);
-#else /* CONFIG_SSB_PCIHOST */
+#else /* CONFIG_SSB_B43_PCI_BRIDGR */
 static inline int b43_pci_ssb_bridge_init(void)
 {
        return 0;