summaryrefslogtreecommitdiffstats
path: root/arch/powerpc
diff options
context:
space:
mode:
authorSegher Boessenkool <segher@kernel.crashing.org>2006-07-08 02:37:20 +0200
committerPaul Mackerras <paulus@samba.org>2006-07-28 02:53:16 +0200
commit96278d21000568a9261f016e8b2569a95a2d4c9e (patch)
tree0dc0614f2268cdc3453fbaccba384ff0e06358f9 /arch/powerpc
parent[POWERPC] Fix new interrupt code (MPIC endianness) (diff)
downloadlinux-96278d21000568a9261f016e8b2569a95a2d4c9e.tar.xz
linux-96278d21000568a9261f016e8b2569a95a2d4c9e.zip
[POWERPC] Fix new interrupt code (MPIC detection)
As the code comment already says, the Maple device-tree is incorrect here; make the Linux code detect the correct thing, too. Signed-off-by: Segher Boessenkool <segher@kernel.crashing.org> Acked-by: Benjamin Herrenschmidt <benh@kernel.crashing.org> Signed-off-by: Paul Mackerras <paulus@samba.org>
Diffstat (limited to 'arch/powerpc')
-rw-r--r--arch/powerpc/platforms/maple/setup.c15
1 files changed, 11 insertions, 4 deletions
diff --git a/arch/powerpc/platforms/maple/setup.c b/arch/powerpc/platforms/maple/setup.c
index 2ecea3b21c7c..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");