nds32: Fix the dts pointer is not passed correctly issue.
authorGreentime Hu <greentime@andestech.com>
Thu, 28 Jun 2018 10:29:21 +0000 (18:29 +0800)
committerGreentime Hu <greentime@andestech.com>
Tue, 3 Jul 2018 03:12:06 +0000 (11:12 +0800)
We found that the original implementation will only use the built-in dtb
pointer instead of the pointer pass from bootloader. This bug is fixed
by this patch.

Signed-off-by: Greentime Hu <greentime@andestech.com>
arch/nds32/kernel/setup.c

index 2f5b2ccebe47166a9863468960f145e9601a9bf4..63a1a5ef5219f47bcd9797e543298056294da22f 100644 (file)
@@ -278,7 +278,8 @@ static void __init setup_memory(void)
 
 void __init setup_arch(char **cmdline_p)
 {
-       early_init_devtree( __dtb_start);
+       early_init_devtree(__atags_pointer ? \
+               phys_to_virt(__atags_pointer) : __dtb_start);
 
        setup_cpuinfo();