diff options
author | Jeff Garzik <jeff@garzik.org> | 2006-08-04 01:20:37 +0400 |
---|---|---|
committer | Jeff Garzik <jeff@garzik.org> | 2006-08-04 01:20:37 +0400 |
commit | 23946a8a980d13af7b84bcf3ce023e0d166ec83f (patch) | |
tree | 193d2959a7b62b48aaf2236447f1378779e55104 /arch/powerpc/platforms/maple/setup.c | |
parent | 66e8bb97055ff22a0e5ea89c0a75a35f8738cc96 (diff) | |
parent | 2b14c30b46e007a16c665cc86329bf4a1d9ff6ee (diff) | |
download | linux-23946a8a980d13af7b84bcf3ce023e0d166ec83f.tar.xz |
Merge branch 'upstream-fixes' into upstream
Diffstat (limited to 'arch/powerpc/platforms/maple/setup.c')
-rw-r--r-- | arch/powerpc/platforms/maple/setup.c | 17 |
1 files changed, 13 insertions, 4 deletions
diff --git a/arch/powerpc/platforms/maple/setup.c b/arch/powerpc/platforms/maple/setup.c index cb528c9de4c3..57567dfb9819 100644 --- a/arch/powerpc/platforms/maple/setup.c +++ b/arch/powerpc/platforms/maple/setup.c @@ -221,10 +221,17 @@ static void __init maple_init_IRQ(void) * in Maple device-tree where the type of the controller is * open-pic and not interrupt-controller */ - for_each_node_by_type(np, "open-pic") { - mpic_node = np; - break; - } + + for_each_node_by_type(np, "interrupt-controller") + if (device_is_compatible(np, "open-pic")) { + mpic_node = np; + break; + } + if (mpic_node == NULL) + for_each_node_by_type(np, "open-pic") { + mpic_node = np; + break; + } if (mpic_node == NULL) { printk(KERN_ERR "Failed to locate the MPIC interrupt controller\n"); @@ -252,6 +259,8 @@ static void __init maple_init_IRQ(void) /* XXX Maple specific bits */ flags |= MPIC_BROKEN_U3 | MPIC_WANTS_RESET; + /* All U3/U4 are big-endian, older SLOF firmware doesn't encode this */ + flags |= MPIC_BIG_ENDIAN; /* Setup the openpic driver. More device-tree junks, we hard code no * ISUs for now. I'll have to revisit some stuffs with the folks doing |