diff options
author | Rob Herring <rob.herring@calxeda.com> | 2013-08-26 11:23:27 -0500 |
---|---|---|
committer | Rob Herring <rob.herring@calxeda.com> | 2013-10-09 11:38:03 -0500 |
commit | 1efc959e0b28942d69d3084ecd4e9bde3beb9866 (patch) | |
tree | c4a0901a07a7641f400069d1a3048e9f96979b6e /arch | |
parent | a8bf7527a2e17ccf1366e67f6ac728327ca34c40 (diff) | |
download | linux-stable-1efc959e0b28942d69d3084ecd4e9bde3beb9866.tar.gz linux-stable-1efc959e0b28942d69d3084ecd4e9bde3beb9866.tar.bz2 linux-stable-1efc959e0b28942d69d3084ecd4e9bde3beb9866.zip |
arc: use unflatten_and_copy_device_tree
Use the common unflatten_and_copy_device_tree to copy the built-in FDT
out of init section.
Signed-off-by: Rob Herring <rob.herring@calxeda.com>
Acked-by: Vineet Gupta <vgupta@synopsys.com>
Acked-by: Grant Likely <grant.likely@linaro.org>
Diffstat (limited to 'arch')
-rw-r--r-- | arch/arc/include/asm/mach_desc.h | 1 | ||||
-rw-r--r-- | arch/arc/kernel/devtree.c | 15 | ||||
-rw-r--r-- | arch/arc/kernel/setup.c | 3 |
3 files changed, 1 insertions, 18 deletions
diff --git a/arch/arc/include/asm/mach_desc.h b/arch/arc/include/asm/mach_desc.h index 9998dc846ebb..d3e9c0a05be8 100644 --- a/arch/arc/include/asm/mach_desc.h +++ b/arch/arc/include/asm/mach_desc.h @@ -82,6 +82,5 @@ __attribute__((__section__(".arch.info.init"))) = { \ }; extern struct machine_desc *setup_machine_fdt(void *dt); -extern void __init copy_devtree(void); #endif diff --git a/arch/arc/kernel/devtree.c b/arch/arc/kernel/devtree.c index 2340af0e1d6f..eeb613aa44ff 100644 --- a/arch/arc/kernel/devtree.c +++ b/arch/arc/kernel/devtree.c @@ -100,18 +100,3 @@ struct machine_desc * __init setup_machine_fdt(void *dt) return mdesc_best; } - -/* - * Copy the flattened DT out of .init since unflattening doesn't copy strings - * and the normal DT APIs refs them from orig flat DT - */ -void __init copy_devtree(void) -{ - void *alloc = early_init_dt_alloc_memory_arch( - be32_to_cpu(initial_boot_params->totalsize), 64); - if (alloc) { - memcpy(alloc, initial_boot_params, - be32_to_cpu(initial_boot_params->totalsize)); - initial_boot_params = alloc; - } -} diff --git a/arch/arc/kernel/setup.c b/arch/arc/kernel/setup.c index 2c68bc7e6a78..710bf895dc2c 100644 --- a/arch/arc/kernel/setup.c +++ b/arch/arc/kernel/setup.c @@ -346,8 +346,7 @@ void __init setup_arch(char **cmdline_p) setup_arch_memory(); /* copy flat DT out of .init and then unflatten it */ - copy_devtree(); - unflatten_device_tree(); + unflatten_and_copy_device_tree(); /* Can be issue if someone passes cmd line arg "ro" * But that is unlikely so keeping it as it is |