summaryrefslogtreecommitdiff
path: root/target/linux/brcm47xx/patches-3.6/181-bcma-explicit-assigne-irq-numbers.patch
diff options
context:
space:
mode:
authorhauke <hauke@3c298f89-4303-0410-b956-a3cf2f4a3e73>2013-01-03 16:56:54 +0000
committerhauke <hauke@3c298f89-4303-0410-b956-a3cf2f4a3e73>2013-01-03 16:56:54 +0000
commitc7b19c2d0c053ca21b7287c2fe0c16fbd3b9f4d4 (patch)
tree2ae2c2f51ddf1f498163c848b8241bfa9991341f /target/linux/brcm47xx/patches-3.6/181-bcma-explicit-assigne-irq-numbers.patch
parent096fa4a7f7a970bbeaf814d8dbbdae43f9f98fbb (diff)
brcm47xx: various fixes and code cleanups for irq code
This is based on a patch send by Nathan Hintz <nlhintz@hotmail.com> git-svn-id: svn://svn.openwrt.org/openwrt/trunk@34997 3c298f89-4303-0410-b956-a3cf2f4a3e73
Diffstat (limited to 'target/linux/brcm47xx/patches-3.6/181-bcma-explicit-assigne-irq-numbers.patch')
-rw-r--r--target/linux/brcm47xx/patches-3.6/181-bcma-explicit-assigne-irq-numbers.patch16
1 files changed, 4 insertions, 12 deletions
diff --git a/target/linux/brcm47xx/patches-3.6/181-bcma-explicit-assigne-irq-numbers.patch b/target/linux/brcm47xx/patches-3.6/181-bcma-explicit-assigne-irq-numbers.patch
index 7fac41535d..501f8d66b3 100644
--- a/target/linux/brcm47xx/patches-3.6/181-bcma-explicit-assigne-irq-numbers.patch
+++ b/target/linux/brcm47xx/patches-3.6/181-bcma-explicit-assigne-irq-numbers.patch
@@ -23,17 +23,7 @@
static void bcma_core_mips_print_irq(struct bcma_device *dev, unsigned int irq)
{
int i;
-@@ -247,7 +263,8 @@ void bcma_core_mips_early_init(struct bc
- void bcma_core_mips_init(struct bcma_drv_mips *mcore)
- {
- struct bcma_bus *bus;
-- struct bcma_device *core;
-+ int irq;
-+
- bus = mcore->core->bus;
-
- if (mcore->setup_done)
-@@ -259,35 +276,44 @@ void bcma_core_mips_init(struct bcma_drv
+@@ -259,35 +275,47 @@ void bcma_core_mips_init(struct bcma_drv
mcore->assigned_irqs = 1;
@@ -65,7 +55,6 @@
- bcma_core_mips_set_irq(core,
- mcore->assigned_irqs++);
- break;
-- }
+ switch (bus->chipinfo.id) {
+ case BCMA_CHIP_ID_BCM4716:
+ case BCMA_CHIP_ID_BCM4748:
@@ -101,6 +90,9 @@
+ 0);
+ break;
+ default:
++ list_for_each_entry(core, &bus->cores, list) {
++ core->irq = bcma_core_irq(core);
+ }
+ bcma_err(bus,
+ "Unknown device (0x%x) found, can not configure IRQs\n",
+ bus->chipinfo.id);