MIPS: lantiq: unbreak devicetree init
authorJohn Crispin <blogic@openwrt.org>
Fri, 9 Nov 2012 11:09:57 +0000 (12:09 +0100)
committerJohn Crispin <blogic@openwrt.org>
Sun, 11 Nov 2012 17:44:05 +0000 (18:44 +0100)
The bootmem was incorrectly freed resulting in lots of dangling pointers.
Additionally we should use of_platform_populate() as the Documentaion tells us
to do so.

Signed-off-by: John Crispin <blogic@openwrt.org>
Patchwork: http://patchwork.linux-mips.org/patch/4518

arch/mips/lantiq/prom.c

index 6cfd6117fbfdc26f13e403d0241e45a5357aeaf2..9f9e875967aa21244e2d8578a8830096fab27c89 100644 (file)
@@ -87,9 +87,6 @@ void __init device_tree_init(void)
        reserve_bootmem(base, size, BOOTMEM_DEFAULT);
 
        unflatten_device_tree();
-
-       /* free the space reserved for the dt blob */
-       free_bootmem(base, size);
 }
 
 void __init prom_init(void)
@@ -119,7 +116,7 @@ int __init plat_of_setup(void)
                sizeof(of_ids[0].compatible));
        strncpy(of_ids[1].compatible, "simple-bus",
                sizeof(of_ids[1].compatible));
-       return of_platform_bus_probe(NULL, of_ids, NULL);
+       return of_platform_populate(NULL, of_ids, NULL, NULL);
 }
 
 arch_initcall(plat_of_setup);