X-Git-Url: https://git.archive.openwrt.org/?p=openwrt.git;a=blobdiff_plain;f=target%2Flinux%2Fbrcm47xx%2Fpatches-3.6%2F181-bcma-explicit-assigne-irq-numbers.patch;h=501f8d66b31888ab8f7343410e495232f97fd04c;hp=7fac41535dde448e442c10c42592220bc588e3d9;hb=c7b19c2d0c053ca21b7287c2fe0c16fbd3b9f4d4;hpb=096fa4a7f7a970bbeaf814d8dbbdae43f9f98fbb;ds=sidebyside 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);