diff options
Diffstat (limited to 'arch/mips/generic/init.c')
| -rw-r--r-- | arch/mips/generic/init.c | 16 | 
1 files changed, 10 insertions, 6 deletions
diff --git a/arch/mips/generic/init.c b/arch/mips/generic/init.c index 0ea73e845440..d493ccbf274a 100644 --- a/arch/mips/generic/init.c +++ b/arch/mips/generic/init.c @@ -30,9 +30,19 @@ static __initdata const void *mach_match_data;  void __init prom_init(void)  { +	plat_get_fdt(); +	BUG_ON(!fdt); +} + +void __init *plat_get_fdt(void) +{  	const struct mips_machine *check_mach;  	const struct of_device_id *match; +	if (fdt) +		/* Already set up */ +		return (void *)fdt; +  	if ((fw_arg0 == -2) && !fdt_check_header((void *)fw_arg1)) {  		/*  		 * We booted using the UHI boot protocol, so we have been @@ -75,12 +85,6 @@ void __init prom_init(void)  		/* Retrieve the machine's FDT */  		fdt = mach->fdt;  	} - -	BUG_ON(!fdt); -} - -void __init *plat_get_fdt(void) -{  	return (void *)fdt;  }  | 
