[kernel] Remove overlap between bcma/b43 and brcmsmac and reenable bcm4331
John W. Linville
linville at fedoraproject.org
Fri Nov 11 15:03:48 UTC 2011
commit 2be549056941a6d25e0a78978210b8314df69fa5
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 | 8 ++++++++
3 files changed, 49 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 dfccf0c..341c283 100644
--- a/config-generic
+++ b/config-generic
@@ -1557,6 +1557,7 @@ CONFIG_B43=m
CONFIG_B43_PCMCIA=y
CONFIG_B43_SDIO=y
CONFIG_B43_BCMA=y
+CONFIG_B43_BCMA_PIO=y
CONFIG_B43_DEBUG=y
CONFIG_B43_PHY_LP=y
CONFIG_B43_PHY_N=y
@@ -4675,7 +4676,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 205efc4..baceb5d 100644
--- a/kernel.spec
+++ b/kernel.spec
@@ -704,6 +704,8 @@ Patch21070: oom-fix-integer-overflow-of-points.patch
Patch21080: sysfs-msi-irq-per-device.patch
+Patch21090: bcma-brcmsmac-compat.patch
+
%endif
BuildRoot: %{_tmppath}/kernel-%{KVERREL}-root
@@ -1340,6 +1342,9 @@ ApplyPatch oom-fix-integer-overflow-of-points.patch
# Add msi irq ennumeration in sysfs for devices
ApplyPatch sysfs-msi-irq-per-device.patch
+# Remove overlap between bcma/b43 and brcmsmac and reenable bcm4331
+ApplyPatch bcma-brcmsmac-compat.patch
+
# END OF PATCH APPLICATIONS
%endif
@@ -2046,6 +2051,9 @@ fi
# ||----w |
# || ||
%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 Josh Boyer <jwboyer at redhat.com>
- Linux 3.2-rc1-git2
More information about the scm-commits
mailing list