[POWERPC] Fix new interrupt code (MPIC detection)
authorSegher Boessenkool <segher@kernel.crashing.org>
Sat, 8 Jul 2006 00:37:20 +0000 (02:37 +0200)
committerPaul Mackerras <paulus@samba.org>
Fri, 28 Jul 2006 00:53:16 +0000 (10:53 +1000)
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>
arch/powerpc/platforms/maple/setup.c

index 2ecea3b..57567df 100644 (file)
@@ -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");