Skip to content

Commit 00ba05a

Browse files
Gavin Shanmpe
authored andcommitted
powerpc/pseries: Cleanup on pseries_eeh_get_state()
This cleans up pseries_eeh_get_state(), no functional changes: * Return EEH_STATE_NOT_SUPPORT early when the 2nd RTAS output argument is zero to avoid nested if statements. * Skip clearing bits in the PE state represented by variable "result" to simplify the code. Signed-off-by: Gavin Shan <gwshan@linux.vnet.ibm.com> Reviewed-by: Andrew Donnellan <andrew.donnellan@au1.ibm.com> Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
1 parent 872ee2d commit 00ba05a

File tree

1 file changed

+26
-34
lines changed

1 file changed

+26
-34
lines changed

arch/powerpc/platforms/pseries/eeh_pseries.c

Lines changed: 26 additions & 34 deletions
Original file line numberDiff line numberDiff line change
@@ -433,42 +433,34 @@ static int pseries_eeh_get_state(struct eeh_pe *pe, int *state)
433433
return ret;
434434

435435
/* Parse the result out */
436-
result = 0;
437-
if (rets[1]) {
438-
switch(rets[0]) {
439-
case 0:
440-
result &= ~EEH_STATE_RESET_ACTIVE;
441-
result |= EEH_STATE_MMIO_ACTIVE;
442-
result |= EEH_STATE_DMA_ACTIVE;
443-
break;
444-
case 1:
445-
result |= EEH_STATE_RESET_ACTIVE;
446-
result |= EEH_STATE_MMIO_ACTIVE;
447-
result |= EEH_STATE_DMA_ACTIVE;
448-
break;
449-
case 2:
450-
result &= ~EEH_STATE_RESET_ACTIVE;
451-
result &= ~EEH_STATE_MMIO_ACTIVE;
452-
result &= ~EEH_STATE_DMA_ACTIVE;
453-
break;
454-
case 4:
455-
result &= ~EEH_STATE_RESET_ACTIVE;
456-
result &= ~EEH_STATE_MMIO_ACTIVE;
457-
result &= ~EEH_STATE_DMA_ACTIVE;
458-
result |= EEH_STATE_MMIO_ENABLED;
459-
break;
460-
case 5:
461-
if (rets[2]) {
462-
if (state) *state = rets[2];
463-
result = EEH_STATE_UNAVAILABLE;
464-
} else {
465-
result = EEH_STATE_NOT_SUPPORT;
466-
}
467-
break;
468-
default:
436+
if (!rets[1])
437+
return EEH_STATE_NOT_SUPPORT;
438+
439+
switch(rets[0]) {
440+
case 0:
441+
result = EEH_STATE_MMIO_ACTIVE |
442+
EEH_STATE_DMA_ACTIVE;
443+
break;
444+
case 1:
445+
result = EEH_STATE_RESET_ACTIVE |
446+
EEH_STATE_MMIO_ACTIVE |
447+
EEH_STATE_DMA_ACTIVE;
448+
break;
449+
case 2:
450+
result = 0;
451+
break;
452+
case 4:
453+
result = EEH_STATE_MMIO_ENABLED;
454+
break;
455+
case 5:
456+
if (rets[2]) {
457+
if (state) *state = rets[2];
458+
result = EEH_STATE_UNAVAILABLE;
459+
} else {
469460
result = EEH_STATE_NOT_SUPPORT;
470461
}
471-
} else {
462+
break;
463+
default:
472464
result = EEH_STATE_NOT_SUPPORT;
473465
}
474466

0 commit comments

Comments
 (0)