From d5345b5f7a4a8f9ec4c1b4b9801a19b4ffd5d547 Mon Sep 17 00:00:00 2001 From: Felix Fietkau Date: Sun, 11 Nov 2007 11:44:59 +0000 Subject: add b43 fixes from #2677 git-svn-id: svn://svn.openwrt.org/openwrt/trunk@9535 3c298f89-4303-0410-b956-a3cf2f4a3e73 --- .../patches-2.6.23/400-b43-pci_ssb_bridge.patch | 111 +++++++++++++++++++++ 1 file changed, 111 insertions(+) create mode 100644 target/linux/brcm47xx/patches-2.6.23/400-b43-pci_ssb_bridge.patch (limited to 'target/linux/brcm47xx/patches-2.6.23/400-b43-pci_ssb_bridge.patch') diff --git a/target/linux/brcm47xx/patches-2.6.23/400-b43-pci_ssb_bridge.patch b/target/linux/brcm47xx/patches-2.6.23/400-b43-pci_ssb_bridge.patch new file mode 100644 index 0000000000..6a7eabed28 --- /dev/null +++ b/target/linux/brcm47xx/patches-2.6.23/400-b43-pci_ssb_bridge.patch @@ -0,0 +1,111 @@ +diff -Naur linux-2.6.23.1.orig/drivers/ssb/b43_pci_bridge.c linux-2.6.23.1/drivers/ssb/b43_pci_bridge.c +--- linux-2.6.23.1.orig/drivers/ssb/b43_pci_bridge.c 2007-11-09 16:48:55.000000000 +0100 ++++ linux-2.6.23.1/drivers/ssb/b43_pci_bridge.c 1970-01-01 01:00:00.000000000 +0100 +@@ -1,48 +0,0 @@ +-/* +- * Broadcom 43xx PCI-SSB bridge module +- * +- * This technically is a seperate PCI driver module, but +- * because of its small size we include it in the SSB core +- * instead of creating a standalone module. +- * +- * Copyright 2007 Michael Buesch +- * +- * Licensed under the GNU/GPL. See COPYING for details. +- */ +- +-#include +-#include +- +-#include "ssb_private.h" +- +- +-static const struct pci_device_id b43_pci_bridge_tbl[] = { +- { PCI_DEVICE(PCI_VENDOR_ID_BROADCOM, 0x4301) }, +- { PCI_DEVICE(PCI_VENDOR_ID_BROADCOM, 0x4307) }, +- { PCI_DEVICE(PCI_VENDOR_ID_BROADCOM, 0x4311) }, +- { PCI_DEVICE(PCI_VENDOR_ID_BROADCOM, 0x4312) }, +- { PCI_DEVICE(PCI_VENDOR_ID_BROADCOM, 0x4318) }, +- { PCI_DEVICE(PCI_VENDOR_ID_BROADCOM, 0x4319) }, +- { PCI_DEVICE(PCI_VENDOR_ID_BROADCOM, 0x4320) }, +- { PCI_DEVICE(PCI_VENDOR_ID_BROADCOM, 0x4321) }, +- { PCI_DEVICE(PCI_VENDOR_ID_BROADCOM, 0x4324) }, +- { PCI_DEVICE(PCI_VENDOR_ID_BROADCOM, 0x4325) }, +- { 0, }, +-}; +-MODULE_DEVICE_TABLE(pci, b43_pci_bridge_tbl); +- +-static struct pci_driver b43_pci_bridge_driver = { +- .name = "b43-pci-bridge", +- .id_table = b43_pci_bridge_tbl, +-}; +- +- +-int __init b43_pci_ssb_bridge_init(void) +-{ +- return ssb_pcihost_register(&b43_pci_bridge_driver); +-} +- +-void __exit b43_pci_ssb_bridge_exit(void) +-{ +- ssb_pcihost_unregister(&b43_pci_bridge_driver); +-} +diff -Naur linux-2.6.23.1.orig/drivers/ssb/main.c linux-2.6.23.1/drivers/ssb/main.c +--- linux-2.6.23.1.orig/drivers/ssb/main.c 2007-11-09 16:48:55.000000000 +0100 ++++ linux-2.6.23.1/drivers/ssb/main.c 2007-11-09 22:11:32.000000000 +0100 +@@ -1142,21 +1142,12 @@ + if (err) + bus_unregister(&ssb_bustype); + +- err = b43_pci_ssb_bridge_init(); +- if (err) { +- ssb_printk(KERN_ERR "Broadcom 43xx PCI-SSB-bridge " +- "initialization failed"); +- /* don't fail SSB init because of this */ +- err = 0; +- } +- + return err; + } + subsys_initcall(ssb_modinit); + + static void __exit ssb_modexit(void) + { +- b43_pci_ssb_bridge_exit(); + bus_unregister(&ssb_bustype); + } + module_exit(ssb_modexit) +diff -Naur linux-2.6.23.1.orig/drivers/ssb/Makefile linux-2.6.23.1/drivers/ssb/Makefile +--- linux-2.6.23.1.orig/drivers/ssb/Makefile 2007-11-09 16:48:55.000000000 +0100 ++++ linux-2.6.23.1/drivers/ssb/Makefile 2007-11-09 22:30:32.000000000 +0100 +@@ -11,8 +11,4 @@ + ssb-$(CONFIG_SSB_DRIVER_EXTIF) += driver_extif.o + 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 +- + obj-$(CONFIG_SSB) += ssb.o +diff -Naur linux-2.6.23.1.orig/drivers/ssb/ssb_private.h linux-2.6.23.1/drivers/ssb/ssb_private.h +--- linux-2.6.23.1.orig/drivers/ssb/ssb_private.h 2007-11-09 16:48:55.000000000 +0100 ++++ linux-2.6.23.1/drivers/ssb/ssb_private.h 2007-11-09 22:11:11.000000000 +0100 +@@ -119,18 +119,4 @@ + 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 +-extern int __init b43_pci_ssb_bridge_init(void); +-extern void __exit b43_pci_ssb_bridge_exit(void); +-#else /* CONFIG_SSB_PCIHOST */ +-static inline int b43_pci_ssb_bridge_init(void) +-{ +- return 0; +-} +-static inline void b43_pci_ssb_bridge_exit(void) +-{ +-} +-#endif /* CONFIG_SSB_PCIHOST */ +- + #endif /* LINUX_SSB_PRIVATE_H_ */ -- cgit v1.2.3