OSDN Git Service

scsi: zfcp: use enum zfcp_erp_steps for struct zfcp_erp_action.step
authorSteffen Maier <maier@linux.ibm.com>
Thu, 8 Nov 2018 14:44:51 +0000 (15:44 +0100)
committerMartin K. Petersen <martin.petersen@oracle.com>
Thu, 15 Nov 2018 20:01:18 +0000 (15:01 -0500)
commit0023beece0c73bc11c1e2827c3de5bbbb66b4542
treea35130de1ca046de21a6e2f4ebacffab4f2f9a48
parentdf91eefd080dcd9801145d1c210d3b078cf912b1
scsi: zfcp: use enum zfcp_erp_steps for struct zfcp_erp_action.step

Use the already defined enum for this purpose to get at least some build
checking (even though an enum is type equivalent to an int in C).  v2.6.27
commit 287ac01acf22 ("[SCSI] zfcp: Cleanup code in zfcp_erp.c") introduced
the enum which was cpp defines previously.

Since struct zfcp_erp_action type is embedded into other structures living
in zfcp_def.h, we have to move enum zfcp_erp_act_type from its private
definition in zfcp_erp.c to the zfcp-global zfcp_def.h

Silence some false -Wswitch compiler warning cases with individual NOP
cases. When adding more enum values and building with W=1 we would get
compiler warnings about missed new cases.

Add missing break statements in some of the above switch cases.  No
functional change, but making it future-proof.  I think all of these should
have had a break statement ever since, even if these switch cases happened
to be the last ones in the switch statement body.

"Fall through" in the context of switch case usually means not to have a
break and fall through to the subsequent switch case. However, I think this
old comment meant that here we do not have an _early return_ in the switch
case but the code path continues after the switch case body.

Signed-off-by: Steffen Maier <maier@linux.ibm.com>
Reviewed-by: Benjamin Block <bblock@linux.ibm.com>
Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
drivers/s390/scsi/zfcp_def.h
drivers/s390/scsi/zfcp_erp.c