diff options
author | Alistair Popple <alistair@popple.id.au> | 2015-05-15 06:06:36 +0200 |
---|---|---|
committer | Michael Ellerman <mpe@ellerman.id.au> | 2015-05-22 07:14:37 +0200 |
commit | 96e023e7534c16ab54e236c114340e2447c36d2f (patch) | |
tree | 0046af177fbbedc9f8d0cb2245fff4f6c596b547 /arch/powerpc/platforms/powernv/opal.c | |
parent | powerpc/powernv: Introduce sysfs control for fastsleep workaround behavior (diff) | |
download | linux-96e023e7534c16ab54e236c114340e2447c36d2f.tar.xz linux-96e023e7534c16ab54e236c114340e2447c36d2f.zip |
powerpc/powernv: Reorder OPAL subsystem initialisation
Most of the OPAL subsystems are always compiled in for PowerNV and
many of them need to be initialised before or after other OPAL
subsystems. Rather than trying to control this ordering through
machine initcalls it is clearer and easier to control initialisation
order with explicit calls in opal_init.
Signed-off-by: Alistair Popple <alistair@popple.id.au>
Cc: Mahesh Jagannath Salgaonkar <mahesh@linux.vnet.ibm.com>
Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
Diffstat (limited to 'arch/powerpc/platforms/powernv/opal.c')
-rw-r--r-- | arch/powerpc/platforms/powernv/opal.c | 13 |
1 files changed, 12 insertions, 1 deletions
diff --git a/arch/powerpc/platforms/powernv/opal.c b/arch/powerpc/platforms/powernv/opal.c index 2241565b0739..eb3decc67c43 100644 --- a/arch/powerpc/platforms/powernv/opal.c +++ b/arch/powerpc/platforms/powernv/opal.c @@ -393,7 +393,6 @@ static int __init opal_message_init(void) } return 0; } -machine_early_initcall(powernv, opal_message_init); int opal_get_chars(uint32_t vtermno, char *buf, int count) { @@ -807,6 +806,18 @@ static int __init opal_init(void) of_node_put(consoles); } + /* Initialise OPAL messaging system */ + opal_message_init(); + + /* Initialise OPAL asynchronous completion interface */ + opal_async_comp_init(); + + /* Initialise OPAL sensor interface */ + opal_sensor_init(); + + /* Initialise OPAL hypervisor maintainence interrupt handling */ + opal_hmi_handler_init(); + /* Create i2c platform devices */ opal_i2c_create_devs(); |