diff options
Diffstat (limited to 'target/linux')
-rw-r--r-- | target/linux/brcm47xx/patches-2.6.23/400-b43-pci_ssb_bridge.patch | 111 | ||||
-rw-r--r-- | target/linux/brcm47xx/profiles/105-Broadcom-b43.mk | 17 |
2 files changed, 128 insertions, 0 deletions
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 000000000..6a7eabed2 --- /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 <mb@bu3sch.de> +- * +- * Licensed under the GNU/GPL. See COPYING for details. +- */ +- +-#include <linux/pci.h> +-#include <linux/ssb/ssb.h> +- +-#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_ */ diff --git a/target/linux/brcm47xx/profiles/105-Broadcom-b43.mk b/target/linux/brcm47xx/profiles/105-Broadcom-b43.mk new file mode 100644 index 000000000..56712a5c2 --- /dev/null +++ b/target/linux/brcm47xx/profiles/105-Broadcom-b43.mk @@ -0,0 +1,17 @@ +# +# Copyright (C) 2007 OpenWrt.org +# +# This is free software, licensed under the GNU General Public License v2. +# See /LICENSE for more information. +# + +define Profile/Broadcom-b43 + NAME:=Broadcom BCM43xx WiFi + PACKAGES:=kmod-b43 +endef + +define Profile/Broadcom-b43/Description + Package set compatible with hardware using Broadcom BCM43xx cards +endef +$(eval $(call Profile,Broadcom-b43)) + |