From: Rob Herring Date: Wed, 2 Apr 2014 22:50:19 +0000 (-0500) Subject: mips: lantiq: copy built-in DTB out of init section X-Git-Tag: v4.14-rc1~7403^2~21^2~27 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=10fbdaab3f51359c5377495b1ab0698bb8e64df9;p=platform%2Fkernel%2Flinux-rpi.git mips: lantiq: copy built-in DTB out of init section The existing code is buggy because built-in DTBs are in init memory. Fix this by using the unflatten_and_copy_device_tree function. This removes all accesses to FDT header data by the arch code. Signed-off-by: Rob Herring Cc: Ralf Baechle Cc: linux-mips@linux-mips.org Tested-by: Grant Likely --- diff --git a/arch/mips/lantiq/prom.c b/arch/mips/lantiq/prom.c index 19686c5..cdea687 100644 --- a/arch/mips/lantiq/prom.c +++ b/arch/mips/lantiq/prom.c @@ -76,18 +76,7 @@ void __init plat_mem_setup(void) void __init device_tree_init(void) { - unsigned long base, size; - - if (!initial_boot_params) - return; - - base = virt_to_phys((void *)initial_boot_params); - size = be32_to_cpu(initial_boot_params->totalsize); - - /* Before we do anything, lets reserve the dt blob */ - reserve_bootmem(base, size, BOOTMEM_DEFAULT); - - unflatten_device_tree(); + unflatten_and_copy_device_tree(); } void __init prom_init(void)