diff options
author | hauke <hauke@3c298f89-4303-0410-b956-a3cf2f4a3e73> | 2013-01-03 16:56:54 +0000 |
---|---|---|
committer | hauke <hauke@3c298f89-4303-0410-b956-a3cf2f4a3e73> | 2013-01-03 16:56:54 +0000 |
commit | c7b19c2d0c053ca21b7287c2fe0c16fbd3b9f4d4 (patch) | |
tree | 2ae2c2f51ddf1f498163c848b8241bfa9991341f /target/linux/brcm47xx/patches-3.6/181-bcma-explicit-assigne-irq-numbers.patch | |
parent | 096fa4a7f7a970bbeaf814d8dbbdae43f9f98fbb (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.patch | 16 |
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); |