realtek: relocate mips cpc probing
The MIPS CPC (Cluster Power Controller) is setup during boot and can take its configuration from the devicetree. This is currently not possible because the cpc probing happens before dt initialization. Call order during startup is: setup_arch() prom_init() <- our function mips_cpc_probe() smp_stuff() arch_mem_init() device_tree_init() <- our function unflatten_and_copy_device_tree() To avoid ugly hacking and support a clean devicetree relocate the cps/smp stuff to device_tree_init(). This is basically the same location as in generic mips initialization. Signed-off-by: Markus Stockhausen <markus.stockhausen@gmx.de> Signed-off-by: Sebastian Gottschall <s.gottschall@dd-wrt.com> Link: https://github.com/openwrt/openwrt/pull/18888 Signed-off-by: Robert Marko <robimarko@gmail.com>
This commit is contained in:
parent
897abbfc4a
commit
cd808d9997
1 changed files with 17 additions and 16 deletions
|
@ -76,6 +76,23 @@ void __init device_tree_init(void)
|
|||
}
|
||||
initial_boot_params = (void *)fdt;
|
||||
unflatten_and_copy_device_tree();
|
||||
|
||||
/* delay cpc & smp probing to allow devicetree access */
|
||||
mips_cpc_probe();
|
||||
|
||||
if (!register_cps_smp_ops())
|
||||
return;
|
||||
|
||||
#ifdef CONFIG_MIPS_MT_SMP
|
||||
if (cpu_has_mipsmt) {
|
||||
rtl_smp_ops = vsmp_smp_ops;
|
||||
rtl_smp_ops.init_secondary = rtl_init_secondary;
|
||||
register_smp_ops(&rtl_smp_ops);
|
||||
return;
|
||||
}
|
||||
#endif
|
||||
|
||||
register_up_smp_ops();
|
||||
}
|
||||
|
||||
void __init identify_rtl9302(void)
|
||||
|
@ -205,20 +222,4 @@ void __init prom_init(void)
|
|||
fw_arg2 = 0;
|
||||
|
||||
fw_init_cmdline();
|
||||
|
||||
mips_cpc_probe();
|
||||
|
||||
if (!register_cps_smp_ops())
|
||||
return;
|
||||
|
||||
#ifdef CONFIG_MIPS_MT_SMP
|
||||
if (cpu_has_mipsmt) {
|
||||
rtl_smp_ops = vsmp_smp_ops;
|
||||
rtl_smp_ops.init_secondary = rtl_init_secondary;
|
||||
register_smp_ops(&rtl_smp_ops);
|
||||
return;
|
||||
}
|
||||
#endif
|
||||
|
||||
register_up_smp_ops();
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue