summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJohn W. Linville <linville@tuxdriver.com>2011-11-11 10:03:43 -0500
committerJohn W. Linville <linville@tuxdriver.com>2011-11-11 10:03:43 -0500
commit2be549056941a6d25e0a78978210b8314df69fa5 (patch)
treedc2a7580d41ffa8be314b2fb3171cc8b537feedc
parent9b8fcc47a0f9c8efbeaf23915d976dd26169de03 (diff)
downloadkernel-2be549056941a6d25e0a78978210b8314df69fa5.tar.gz
kernel-2be549056941a6d25e0a78978210b8314df69fa5.tar.xz
kernel-2be549056941a6d25e0a78978210b8314df69fa5.zip
Remove overlap between bcma/b43 and brcmsmac and reenable bcm4331
-rw-r--r--bcma-brcmsmac-compat.patch35
-rw-r--r--config-generic7
-rw-r--r--kernel.spec8
3 files changed, 49 insertions, 1 deletions
diff --git a/bcma-brcmsmac-compat.patch b/bcma-brcmsmac-compat.patch
new file mode 100644
index 000000000..e16e5b0c5
--- /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@infradead.org>
+confirmed that this patch restores functionality of bcm4331 devices.
+
+-- John W. Linville <linville@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 dfccf0cbb..341c2834c 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 205efc448..baceb5d66 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@redhat.com>
+- Remove overlap between bcma/b43 and brcmsmac and reenable bcm4331
+
* Thu Nov 10 2011 Josh Boyer <jwboyer@redhat.com>
- Linux 3.2-rc1-git2