diff options
author | Jayachandran C <jayachandranc@netlogicmicro.com> | 2012-07-13 21:53:16 +0530 |
---|---|---|
committer | John Crispin <blogic@openwrt.org> | 2012-08-22 23:46:37 +0200 |
commit | 1f8a9ef10732c96b5f898eacd5603c07dcc68b32 (patch) | |
tree | 151f6f3ec4ca7ed33ba160e0201c6d72f1d2023a /arch/mips/netlogic/xlp/setup.c | |
parent | 98dbc5764d8b6fa9cabe316fe725281703bf0fc6 (diff) |
MIPS: Netlogic: merge of.c into setup.c
Move the function device_tree_init() from netlogic/xlp/of.c
to setup.c, and remove the wrapper functions reserve_mem_mach()
and free_mem_mach().
Remove file netlogic/xlp/of.c, and the Makefile entry for it.
Signed-off-by: Jayachandran C <jayachandranc@netlogicmicro.com>
Patchwork: http://patchwork.linux-mips.org/patch/4097/
Signed-off-by: John Crispin <blogic@openwrt.org>
Diffstat (limited to 'arch/mips/netlogic/xlp/setup.c')
-rw-r--r-- | arch/mips/netlogic/xlp/setup.c | 20 |
1 files changed, 20 insertions, 0 deletions
diff --git a/arch/mips/netlogic/xlp/setup.c b/arch/mips/netlogic/xlp/setup.c index 3dec9f28b65b..0d2d679c6c56 100644 --- a/arch/mips/netlogic/xlp/setup.c +++ b/arch/mips/netlogic/xlp/setup.c @@ -35,6 +35,7 @@ #include <linux/kernel.h> #include <linux/serial_8250.h> #include <linux/pm.h> +#include <linux/bootmem.h> #include <asm/reboot.h> #include <asm/time.h> @@ -112,6 +113,25 @@ void __init prom_init(void) #endif } +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(); + + /* free the space reserved for the dt blob */ + free_bootmem(base, size); +} + static struct of_device_id __initdata xlp_ids[] = { { .compatible = "simple-bus", }, {}, |