diff options
author | Oliver O'Halloran <oohall@gmail.com> | 2020-09-18 19:30:42 +1000 |
---|---|---|
committer | Michael Ellerman <mpe@ellerman.id.au> | 2020-10-06 23:22:24 +1100 |
commit | d125aedb404204de0579b16028096b2cc09e4deb (patch) | |
tree | 3c0a52b9fa4367f95081cdb34846f2bb21fed9f1 /arch/powerpc/platforms | |
parent | 874dc62f548f28649ac3d7e31025b1e8cec3868a (diff) |
powerpc/eeh: Rework EEH initialisation
Drop the EEH register / unregister ops thing and have the platform pass the
ops structure into eeh_init() directly. This takes one initcall out of the
EEH setup path and it means we're only doing EEH setup on the platforms
which actually support it. It's also less code and generally easier to
follow.
No functional changes.
Signed-off-by: Oliver O'Halloran <oohall@gmail.com>
Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
Link: https://lore.kernel.org/r/20200918093050.37344-1-oohall@gmail.com
Diffstat (limited to 'arch/powerpc/platforms')
-rw-r--r-- | arch/powerpc/platforms/powernv/eeh-powernv.c | 4 | ||||
-rw-r--r-- | arch/powerpc/platforms/pseries/eeh_pseries.c | 5 |
2 files changed, 4 insertions, 5 deletions
diff --git a/arch/powerpc/platforms/powernv/eeh-powernv.c b/arch/powerpc/platforms/powernv/eeh-powernv.c index 663bd69ac51b..33938f8a3fba 100644 --- a/arch/powerpc/platforms/powernv/eeh-powernv.c +++ b/arch/powerpc/platforms/powernv/eeh-powernv.c @@ -1717,7 +1717,7 @@ static int __init eeh_powernv_init(void) { int ret = -EINVAL; - ret = eeh_ops_register(&pnv_eeh_ops); + ret = eeh_init(&pnv_eeh_ops); if (!ret) pr_info("EEH: PowerNV platform initialized\n"); else @@ -1725,4 +1725,4 @@ static int __init eeh_powernv_init(void) return ret; } -machine_early_initcall(powernv, eeh_powernv_init); +machine_core_initcall_sync(powernv, eeh_powernv_init); diff --git a/arch/powerpc/platforms/pseries/eeh_pseries.c b/arch/powerpc/platforms/pseries/eeh_pseries.c index 1db74cec72bc..df32b8ccbd59 100644 --- a/arch/powerpc/platforms/pseries/eeh_pseries.c +++ b/arch/powerpc/platforms/pseries/eeh_pseries.c @@ -990,13 +990,12 @@ static int __init eeh_pseries_init(void) { int ret; - ret = eeh_ops_register(&pseries_eeh_ops); + ret = eeh_init(&pseries_eeh_ops); if (!ret) pr_info("EEH: pSeries platform initialized\n"); else pr_info("EEH: pSeries platform initialization failure (%d)\n", ret); - return ret; } -machine_early_initcall(pseries, eeh_pseries_init); +machine_core_initcall_sync(pseries, eeh_pseries_init); |