[kernel/f15] Remove overlap between bcma/b43 and brcmsmac and reenable bcm4331

John W. Linville linville at fedoraproject.org
Fri Nov 11 15:19:04 UTC 2011


commit b480412500f65f8457637f41161c938c3339c865
Author: John W. Linville <linville at tuxdriver.com>
Date:   Fri Nov 11 10:03:43 2011 -0500

    Remove overlap between bcma/b43 and brcmsmac and reenable bcm4331

 bcma-brcmsmac-compat.patch |   35 +++++++++++++++++++++++++++++++++++
 config-generic             |    7 ++++++-
 kernel.spec                |    7 +++++++
 3 files changed, 48 insertions(+), 1 deletions(-)
---
diff --git a/bcma-brcmsmac-compat.patch b/bcma-brcmsmac-compat.patch
new file mode 100644
index 0000000..e16e5b0
--- /dev/null
+++ b/bcma-brcmsmac-compat.patch
@@ -0,0 +1,35 @@
+Simple patch to remove the overlap between the bcma (i.e. b43) driver
+and the brcmsmac driver.  David Woodhouse <dwmw2 at infradead.org>
+confirmed that this patch restores functionality of bcm4331 devices.
+
+-- John W. Linville <linville at redhat.com>
+
+diff -up linux-3.1.x86_64/drivers/bcma/host_pci.c.orig linux-3.1.x86_64/drivers/bcma/host_pci.c
+--- linux-3.1.x86_64/drivers/bcma/host_pci.c.orig	2011-11-10 11:41:26.829742757 -0500
++++ linux-3.1.x86_64/drivers/bcma/host_pci.c	2011-11-10 11:41:22.884792078 -0500
+@@ -225,11 +225,13 @@ static void bcma_host_pci_remove(struct 
+ }
+ 
+ static DEFINE_PCI_DEVICE_TABLE(bcma_pci_bridge_tbl) = {
+-	{ PCI_DEVICE(PCI_VENDOR_ID_BROADCOM, 0x0576) },
+ 	{ PCI_DEVICE(PCI_VENDOR_ID_BROADCOM, 0x4331) },
++#if 0 /* Not in Fedora... */
++ 	{ PCI_DEVICE(PCI_VENDOR_ID_BROADCOM, 0x0576) },
+ 	{ PCI_DEVICE(PCI_VENDOR_ID_BROADCOM, 0x4353) },
+ 	{ PCI_DEVICE(PCI_VENDOR_ID_BROADCOM, 0x4357) },
+ 	{ PCI_DEVICE(PCI_VENDOR_ID_BROADCOM, 0x4727) },
++#endif
+ 	{ 0, },
+ };
+ MODULE_DEVICE_TABLE(pci, bcma_pci_bridge_tbl);
+diff -up linux-3.1.x86_64/drivers/net/wireless/brcm80211/Kconfig.orig linux-3.1.x86_64/drivers/net/wireless/brcm80211/Kconfig
+--- linux-3.1.x86_64/drivers/net/wireless/brcm80211/Kconfig.orig	2011-11-10 11:42:31.764930961 -0500
++++ linux-3.1.x86_64/drivers/net/wireless/brcm80211/Kconfig	2011-11-10 11:42:33.613907846 -0500
+@@ -5,7 +5,6 @@ config BRCMSMAC
+ 	tristate "Broadcom IEEE802.11n PCIe SoftMAC WLAN driver"
+ 	depends on PCI
+ 	depends on MAC80211
+-	depends on BCMA=n
+ 	select BRCMUTIL
+ 	select FW_LOADER
+ 	select CRC_CCITT
diff --git a/config-generic b/config-generic
index b6d99db..162e670 100644
--- a/config-generic
+++ b/config-generic
@@ -1462,6 +1462,7 @@ CONFIG_B43=m
 CONFIG_B43_PCMCIA=y
 CONFIG_B43_SDIO=y
 CONFIG_B43_BCMA=y
+CONFIG_B43_BCMA_PIO=y
 # CONFIG_B43_DEBUG is not set
 CONFIG_B43_PHY_LP=y
 CONFIG_B43_PHY_N=y
@@ -4588,7 +4589,11 @@ CONFIG_DEFAULT_MESSAGE_LOGLEVEL=4
 
 CONFIG_TEST_KSTRTOX=m
 
-# CONFIG_BCMA is not set
+CONFIG_BCMA=m
+CONFIG_BCMA_BLOCKIO=y
+CONFIG_BCMA_HOST_PCI_POSSIBLE=y
+CONFIG_BCMA_HOST_PCI=y
+# CONFIG_BCMA_DEBUG is not set
 
 # CONFIG_GOOGLE_FIRMWARE is not set
 CONFIG_INTEL_MID_PTI=m
diff --git a/kernel.spec b/kernel.spec
index 7cd70d3..c4ec2de 100644
--- a/kernel.spec
+++ b/kernel.spec
@@ -690,6 +690,8 @@ Patch21061: ideapad-Check-if-acpi-already-handle-backlight.patch
 
 #backport brcm80211 from 3.2-rc1
 Patch21090: brcm80211.patch
+Patch21091: bcma-brcmsmac-compat.patch
+
 %endif
 
 BuildRoot: %{_tmppath}/kernel-%{KVERREL}-root
@@ -1268,6 +1270,8 @@ ApplyPatch ideapad-Check-if-acpi-already-handle-backlight.patch
 
 #backport brcm80211 from 3.2-rc1
 ApplyPatch brcm80211.patch
+# Remove overlap between bcma/b43 and brcmsmac and reenable bcm4331
+ApplyPatch bcma-brcmsmac-compat.patch
 
 # END OF PATCH APPLICATIONS
 
@@ -1889,6 +1893,9 @@ fi
 # and build.
 
 %changelog
+* Fri Nov 11 2011 John W. Linville <linville at redhat.com>
+- Remove overlap between bcma/b43 and brcmsmac and reenable bcm4331
+
 * Thu Nov 10 2011 Chuck Ebbert <cebbert at redhat.com>
 - Sync samsung-laptop driver with what's in 3.2 (rhbz 747560)
 


More information about the scm-commits mailing list