aboutsummaryrefslogtreecommitdiffstats
path: root/target/linux/brcm47xx/patches-3.6/181-bcma-explicit-assigne-irq-numbers.patch
diff options
context:
space:
mode:
authorHauke Mehrtens <hauke@hauke-m.de>2013-01-03 16:56:54 +0000
committerHauke Mehrtens <hauke@hauke-m.de>2013-01-03 16:56:54 +0000
commita105eea1a13347ae64525a1b4e162edbb76e4ecc (patch)
treedad9b6c4ed80c29e9f44c1fa5c6b5cbbf4c6a1ea /target/linux/brcm47xx/patches-3.6/181-bcma-explicit-assigne-irq-numbers.patch
parentac383f95a515c4092f7fafe91046b8443beceaef (diff)
downloadupstream-a105eea1a13347ae64525a1b4e162edbb76e4ecc.tar.gz
upstream-a105eea1a13347ae64525a1b4e162edbb76e4ecc.tar.bz2
upstream-a105eea1a13347ae64525a1b4e162edbb76e4ecc.zip
brcm47xx: various fixes and code cleanups for irq code
This is based on a patch send by Nathan Hintz <nlhintz@hotmail.com> SVN-Revision: 34997
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);