powerpc/eeh: Cleanup eeh_ops.wait_state()
The wait_state member of eeh_ops does not need to be platform dependent; it's just logic around eeh_ops.get_state(). Therefore, merge the two (slightly different!) platform versions into a new function, eeh_wait_state() and remove the eeh_ops member. While doing this, also correct: * The wait logic, so that it never waits longer than max_wait. * The wait logic, so that it never waits less than EEH_STATE_MIN_WAIT_TIME. * One call site where the result is treated like a bit field before it's checked for negative error values. * In pseries_eeh_get_state(), rename the "state" parameter to "delay" because that's what it is. Signed-off-by:Sam Bobroff <sbobroff@linux.ibm.com> Signed-off-by:
Michael Ellerman <mpe@ellerman.id.au>
Showing
- arch/powerpc/include/asm/eeh.h 2 additions, 2 deletionsarch/powerpc/include/asm/eeh.h
- arch/powerpc/kernel/eeh.c 4 additions, 5 deletionsarch/powerpc/kernel/eeh.c
- arch/powerpc/kernel/eeh_driver.c 1 addition, 1 deletionarch/powerpc/kernel/eeh_driver.c
- arch/powerpc/kernel/eeh_pe.c 51 additions, 0 deletionsarch/powerpc/kernel/eeh_pe.c
- arch/powerpc/platforms/powernv/eeh-powernv.c 0 additions, 38 deletionsarch/powerpc/platforms/powernv/eeh-powernv.c
- arch/powerpc/platforms/pseries/eeh_pseries.c 4 additions, 62 deletionsarch/powerpc/platforms/pseries/eeh_pseries.c
Loading
Please register or sign in to comment