From e83fc6be612ae6642f330e4aff93f32593c25a04 Mon Sep 17 00:00:00 2001 From: Jayachandran C Date: Wed, 31 Oct 2012 12:01:32 +0000 Subject: [PATCH] MIPS: Netlogic: Move fdt init to plat_mem_setup At this point early printk is available, so debugging device tree issues is easier. Signed-off-by: Jayachandran C Patchwork: http://patchwork.linux-mips.org/patch/4460 Signed-off-by: John Crispin --- arch/mips/netlogic/xlp/setup.c | 27 ++++++++++++++------------- 1 file changed, 14 insertions(+), 13 deletions(-) diff --git a/arch/mips/netlogic/xlp/setup.c b/arch/mips/netlogic/xlp/setup.c index d8997098defd..b886a508f85a 100644 --- a/arch/mips/netlogic/xlp/setup.c +++ b/arch/mips/netlogic/xlp/setup.c @@ -68,10 +68,23 @@ static void nlm_linux_exit(void) void __init plat_mem_setup(void) { + void *fdtp; + panic_timeout = 5; _machine_restart = (void (*)(char *))nlm_linux_exit; _machine_halt = nlm_linux_exit; pm_power_off = nlm_linux_exit; + + /* + * If no FDT pointer is passed in, use the built-in FDT. + * device_tree_init() does not handle CKSEG0 pointers in + * 64-bit, so convert pointer. + */ + fdtp = (void *)(long)fw_arg0; + if (!fdtp) + fdtp = __dtb_start; + fdtp = phys_to_virt(__pa(fdtp)); + early_init_devtree(fdtp); } const char *get_system_type(void) @@ -96,23 +109,11 @@ void xlp_mmu_init(void) void __init prom_init(void) { - void *fdtp; - xlp_mmu_init(); nlm_hal_init(); - /* - * If no FDT pointer is passed in, use the built-in FDT. - * device_tree_init() does not handle CKSEG0 pointers in - * 64-bit, so convert pointer. - */ - fdtp = (void *)(long)fw_arg0; - if (!fdtp) - fdtp = __dtb_start; - fdtp = phys_to_virt(__pa(fdtp)); - early_init_devtree(fdtp); - nlm_common_ebase = read_c0_ebase() & (~((1 << 12) - 1)); + #ifdef CONFIG_SMP nlm_wakeup_secondary_cpus(0xffffffff);