scsi: ufs: Improve type safety
authorBart Van Assche <bvanassche@acm.org>
Thu, 27 Jul 2023 19:41:19 +0000 (12:41 -0700)
committerMartin K. Petersen <martin.petersen@oracle.com>
Mon, 31 Jul 2023 19:17:50 +0000 (15:17 -0400)
Assign names to the enumeration types for UPIU types. Use these enumeration
types where appropriate.

Signed-off-by: Bart Van Assche <bvanassche@acm.org>
Link: https://lore.kernel.org/r/20230727194457.3152309-8-bvanassche@acm.org
Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
drivers/ufs/core/ufshcd-priv.h
drivers/ufs/core/ufshcd.c
include/ufs/ufs.h
include/ufs/ufshcd.h

index 4feccd5..f42d99c 100644 (file)
@@ -93,7 +93,7 @@ int ufshcd_send_uic_cmd(struct ufs_hba *hba, struct uic_command *uic_cmd);
 int ufshcd_exec_raw_upiu_cmd(struct ufs_hba *hba,
                             struct utp_upiu_req *req_upiu,
                             struct utp_upiu_req *rsp_upiu,
-                            int msgcode,
+                            enum upiu_request_transaction msgcode,
                             u8 *desc_buff, int *buff_len,
                             enum query_opcode desc_op);
 
index 5e248c6..19c210e 100644 (file)
@@ -879,7 +879,7 @@ static inline u32 ufshcd_get_dme_attr_val(struct ufs_hba *hba)
  *
  * Return: UPIU type.
  */
-static inline int
+static inline enum upiu_response_transaction
 ufshcd_get_req_rsp(struct utp_upiu_rsp *ucd_rsp_ptr)
 {
        return be32_to_cpu(ucd_rsp_ptr->header.dword_0) >> 24;
@@ -3032,7 +3032,7 @@ ufshcd_check_query_response(struct ufs_hba *hba, struct ufshcd_lrb *lrbp)
 static int
 ufshcd_dev_cmd_completion(struct ufs_hba *hba, struct ufshcd_lrb *lrbp)
 {
-       int resp;
+       enum upiu_response_transaction resp;
        int err = 0;
 
        hba->ufs_stats.last_hibern8_exit_tstamp = ktime_set(0, 0);
@@ -5271,9 +5271,8 @@ ufshcd_transfer_rsp_status(struct ufs_hba *hba, struct ufshcd_lrb *lrbp,
 
        switch (ocs) {
        case OCS_SUCCESS:
-               result = ufshcd_get_req_rsp(lrbp->ucd_rsp_ptr);
                hba->ufs_stats.last_hibern8_exit_tstamp = ktime_set(0, 0);
-               switch (result) {
+               switch (ufshcd_get_req_rsp(lrbp->ucd_rsp_ptr)) {
                case UPIU_TRANSACTION_RESPONSE:
                        /*
                         * get the response UPIU result to extract
@@ -7199,7 +7198,7 @@ static int ufshcd_issue_devman_upiu_cmd(struct ufs_hba *hba,
 int ufshcd_exec_raw_upiu_cmd(struct ufs_hba *hba,
                             struct utp_upiu_req *req_upiu,
                             struct utp_upiu_req *rsp_upiu,
-                            int msgcode,
+                            enum upiu_request_transaction msgcode,
                             u8 *desc_buff, int *buff_len,
                             enum query_opcode desc_op)
 {
index 0fb7336..797bf03 100644 (file)
@@ -78,7 +78,7 @@ enum {
 };
 
 /* UTP UPIU Transaction Codes Initiator to Target */
-enum {
+enum upiu_request_transaction {
        UPIU_TRANSACTION_NOP_OUT        = 0x00,
        UPIU_TRANSACTION_COMMAND        = 0x01,
        UPIU_TRANSACTION_DATA_OUT       = 0x02,
@@ -87,7 +87,7 @@ enum {
 };
 
 /* UTP UPIU Transaction Codes Target to Initiator */
-enum {
+enum upiu_response_transaction {
        UPIU_TRANSACTION_NOP_IN         = 0x20,
        UPIU_TRANSACTION_RESPONSE       = 0x21,
        UPIU_TRANSACTION_DATA_IN        = 0x22,
index 67bd089..2b1f4f2 100644 (file)
@@ -1357,12 +1357,6 @@ int ufshcd_get_vreg(struct device *dev, struct ufs_vreg *vreg);
 
 int ufshcd_send_uic_cmd(struct ufs_hba *hba, struct uic_command *uic_cmd);
 
-int ufshcd_exec_raw_upiu_cmd(struct ufs_hba *hba,
-                            struct utp_upiu_req *req_upiu,
-                            struct utp_upiu_req *rsp_upiu,
-                            int msgcode,
-                            u8 *desc_buff, int *buff_len,
-                            enum query_opcode desc_op);
 int ufshcd_advanced_rpmb_req_handler(struct ufs_hba *hba, struct utp_upiu_req *req_upiu,
                                     struct utp_upiu_req *rsp_upiu, struct ufs_ehs *ehs_req,
                                     struct ufs_ehs *ehs_rsp, int sg_cnt,