Commit 83e267d7 authored by Stuart Yoder's avatar Stuart Yoder Committed by Scott Wood

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: default avatarStuart Yoder <stuart.yoder@freescale.com>
Signed-off-by: default avatarScott Wood <scottwood@freescale.com>
parent 2b09c603
......@@ -30,6 +30,7 @@ extern u32 epapr_ev_idle_start[];
#endif
bool epapr_paravirt_enabled;
static bool epapr_has_idle;
static int __init early_init_dt_scan_epapr(unsigned long node,
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 (of_get_flat_dt_prop(node, "has-idle", NULL))
ppc_md.power_save = epapr_ev_idle;
epapr_has_idle = true;
#endif
epapr_paravirt_enabled = true;
......@@ -70,3 +71,12 @@ int __init epapr_paravirt_early_init(void)
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);
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment