The of_node for the SB600 (io-bridge) has its device_type set to
    'io-bridge' Set it to 'isa' so that it can be found by
    isa_bridge_find_early() instead of using patches in the kernel.

    Signed-off-by: Darren Stevens <dar...@stevens-zone.net>

---
diff --git a/arch/powerpc/kernel/prom_init.c b/arch/powerpc/kernel/prom_init.c
index 8269093..d75937a 100644
--- a/arch/powerpc/kernel/prom_init.c
+++ b/arch/powerpc/kernel/prom_init.c
@@ -2697,6 +2697,24 @@ static void __init fixup_device_tree_pasemi(void)
                        }
                }
        }
+
+       /*
+        * The io-bridge has device_type set to 'io-bridge'
+        * change it to 'isa' so that generic isa-bridge code can add the SB600 
and
+        * its on-board peripherals.
+        */
+
+       name = "/pxp@0,e0000000/io-bridge@0";
+        iob = call_prom("finddevice", 1, 1, ADDR(name));
+        if (!PHANDLE_VALID(iob))
+                return;
+
+       /* device_type is already set, just change it. */
+
+       prom_printf("Changing device_type of SB600 node...\n");
+
+       prom_setprop(iob, name, "device_type", "isa", sizeof("isa"));
+
 #endif //CONFIG_PPC_PASEMI_NEMO
 }
 #else

Reply via email to