From c7b19c2d0c053ca21b7287c2fe0c16fbd3b9f4d4 Mon Sep 17 00:00:00 2001 From: hauke Date: Thu, 3 Jan 2013 16:56:54 +0000 Subject: brcm47xx: various fixes and code cleanups for irq code This is based on a patch send by Nathan Hintz git-svn-id: svn://svn.openwrt.org/openwrt/trunk@34997 3c298f89-4303-0410-b956-a3cf2f4a3e73 --- .../181-bcma-explicit-assigne-irq-numbers.patch | 16 ++++------------ 1 file changed, 4 insertions(+), 12 deletions(-) (limited to 'target/linux/brcm47xx/patches-3.6/181-bcma-explicit-assigne-irq-numbers.patch') 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 7fac41535..501f8d66b 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); -- cgit v1.2.3