Commit 08fb726d authored by Mahesh Salgaonkar's avatar Mahesh Salgaonkar Committed by Michael Ellerman

powerpc/powernv: Move opal_power_control_init() call in opal_init().

opal_power_control_init() depends on opal message notifier to be
initialized, which is done in opal_init()->opal_message_init(). But both
these initialization are called through machine initcalls and it all
depends on in which order they being called. So far these are called in
correct order (may be we got lucky) and never saw any issue. But it is
clearer to control initialization order explicitly by moving
opal_power_control_init() into opal_init().
Signed-off-by: default avatarMahesh Salgaonkar <mahesh@linux.vnet.ibm.com>
Signed-off-by: default avatarMichael Ellerman <mpe@ellerman.id.au>
parent ae6263cc
...@@ -347,6 +347,7 @@ extern int opal_async_comp_init(void); ...@@ -347,6 +347,7 @@ extern int opal_async_comp_init(void);
extern int opal_sensor_init(void); extern int opal_sensor_init(void);
extern int opal_hmi_handler_init(void); extern int opal_hmi_handler_init(void);
extern int opal_event_init(void); extern int opal_event_init(void);
int opal_power_control_init(void);
extern int opal_machine_check(struct pt_regs *regs); extern int opal_machine_check(struct pt_regs *regs);
extern bool opal_mce_check_early_recovery(struct pt_regs *regs); extern bool opal_mce_check_early_recovery(struct pt_regs *regs);
......
...@@ -138,7 +138,7 @@ static struct notifier_block opal_power_control_nb = { ...@@ -138,7 +138,7 @@ static struct notifier_block opal_power_control_nb = {
.priority = 0, .priority = 0,
}; };
static int __init opal_power_control_init(void) int __init opal_power_control_init(void)
{ {
int ret, supported = 0; int ret, supported = 0;
struct device_node *np; struct device_node *np;
...@@ -176,4 +176,3 @@ static int __init opal_power_control_init(void) ...@@ -176,4 +176,3 @@ static int __init opal_power_control_init(void)
return 0; return 0;
} }
machine_subsys_initcall(powernv, opal_power_control_init);
...@@ -960,6 +960,9 @@ static int __init opal_init(void) ...@@ -960,6 +960,9 @@ static int __init opal_init(void)
/* Initialise OPAL sensor groups */ /* Initialise OPAL sensor groups */
opal_sensor_groups_init(); opal_sensor_groups_init();
/* Initialise OPAL Power control interface */
opal_power_control_init();
return 0; return 0;
} }
machine_subsys_initcall(powernv, opal_init); machine_subsys_initcall(powernv, opal_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