mirror of https://gitee.com/openkylin/linux.git
powerpc: move epapr paravirt init of power_save to an initcall
some restructuring of epapr paravirt init resulted in ppc_md.power_save being set, and then overwritten to NULL during machine_init. This patch splits the initialization of ppc_md.power_save out into a postcore init call. Signed-off-by: Stuart Yoder <stuart.yoder@freescale.com> Signed-off-by: Scott Wood <scottwood@freescale.com>
This commit is contained in:
parent
2b09c60389
commit
83e267d797
|
@ -30,6 +30,7 @@ extern u32 epapr_ev_idle_start[];
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
bool epapr_paravirt_enabled;
|
bool epapr_paravirt_enabled;
|
||||||
|
static bool epapr_has_idle;
|
||||||
|
|
||||||
static int __init early_init_dt_scan_epapr(unsigned long node,
|
static int __init early_init_dt_scan_epapr(unsigned long node,
|
||||||
const char *uname,
|
const char *uname,
|
||||||
|
@ -55,7 +56,7 @@ static int __init early_init_dt_scan_epapr(unsigned long node,
|
||||||
|
|
||||||
#if !defined(CONFIG_64BIT) || defined(CONFIG_PPC_BOOK3E_64)
|
#if !defined(CONFIG_64BIT) || defined(CONFIG_PPC_BOOK3E_64)
|
||||||
if (of_get_flat_dt_prop(node, "has-idle", NULL))
|
if (of_get_flat_dt_prop(node, "has-idle", NULL))
|
||||||
ppc_md.power_save = epapr_ev_idle;
|
epapr_has_idle = true;
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
epapr_paravirt_enabled = true;
|
epapr_paravirt_enabled = true;
|
||||||
|
@ -70,3 +71,12 @@ int __init epapr_paravirt_early_init(void)
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static int __init epapr_idle_init(void)
|
||||||
|
{
|
||||||
|
if (epapr_has_idle)
|
||||||
|
ppc_md.power_save = epapr_ev_idle;
|
||||||
|
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
postcore_initcall(epapr_idle_init);
|
||||||
|
|
Loading…
Reference in New Issue