OSDN Git Service

scsi: isci: Change sci_controller_start_task's return type to sci_status
authorNathan Chancellor <natechancellor@gmail.com>
Thu, 27 Sep 2018 00:12:00 +0000 (17:12 -0700)
committerMartin K. Petersen <martin.petersen@oracle.com>
Wed, 17 Oct 2018 01:38:47 +0000 (21:38 -0400)
Clang warns when an enumerated type is implicitly converted to another.

drivers/scsi/isci/request.c:3476:13: warning: implicit conversion from
enumeration type 'enum sci_task_status' to different enumeration type
'enum sci_status' [-Wenum-conversion]
                        status = sci_controller_start_task(ihost,
                               ~ ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
drivers/scsi/isci/host.c:2744:10: warning: implicit conversion from
enumeration type 'enum sci_status' to different enumeration type 'enum
sci_task_status' [-Wenum-conversion]
                return SCI_SUCCESS;
                ~~~~~~ ^~~~~~~~~~~
drivers/scsi/isci/host.c:2753:9: warning: implicit conversion from
enumeration type 'enum sci_status' to different enumeration type 'enum
sci_task_status' [-Wenum-conversion]
        return status;
        ~~~~~~ ^~~~~~

Avoid all of these implicit conversion by just making
sci_controller_start_task use sci_status. This silences
Clang and has no functional change since sci_task_status
has all of its values mapped to something in sci_status.

Link: https://github.com/ClangBuiltLinux/linux/issues/153
Signed-off-by: Nathan Chancellor <natechancellor@gmail.com>
Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
drivers/scsi/isci/host.c
drivers/scsi/isci/host.h
drivers/scsi/isci/task.c

index 1ee3868..7b5deae 100644 (file)
@@ -2717,9 +2717,9 @@ enum sci_status sci_controller_continue_io(struct isci_request *ireq)
  *    the task management request.
  * @task_request: the handle to the task request object to start.
  */
-enum sci_task_status sci_controller_start_task(struct isci_host *ihost,
-                                              struct isci_remote_device *idev,
-                                              struct isci_request *ireq)
+enum sci_status sci_controller_start_task(struct isci_host *ihost,
+                                         struct isci_remote_device *idev,
+                                         struct isci_request *ireq)
 {
        enum sci_status status;
 
@@ -2728,7 +2728,7 @@ enum sci_task_status sci_controller_start_task(struct isci_host *ihost,
                         "%s: SCIC Controller starting task from invalid "
                         "state\n",
                         __func__);
-               return SCI_TASK_FAILURE_INVALID_STATE;
+               return SCI_FAILURE_INVALID_STATE;
        }
 
        status = sci_remote_device_start_task(ihost, idev, ireq);
index b353992..6bc3f02 100644 (file)
@@ -489,7 +489,7 @@ enum sci_status sci_controller_start_io(
        struct isci_remote_device *idev,
        struct isci_request *ireq);
 
-enum sci_task_status sci_controller_start_task(
+enum sci_status sci_controller_start_task(
        struct isci_host *ihost,
        struct isci_remote_device *idev,
        struct isci_request *ireq);
index 6dcaed0..fb6eba3 100644 (file)
@@ -258,7 +258,7 @@ static int isci_task_execute_tmf(struct isci_host *ihost,
                                 struct isci_tmf *tmf, unsigned long timeout_ms)
 {
        DECLARE_COMPLETION_ONSTACK(completion);
-       enum sci_task_status status = SCI_TASK_FAILURE;
+       enum sci_status status = SCI_FAILURE;
        struct isci_request *ireq;
        int ret = TMF_RESP_FUNC_FAILED;
        unsigned long flags;
@@ -301,7 +301,7 @@ static int isci_task_execute_tmf(struct isci_host *ihost,
        /* start the TMF io. */
        status = sci_controller_start_task(ihost, idev, ireq);
 
-       if (status != SCI_TASK_SUCCESS) {
+       if (status != SCI_SUCCESS) {
                dev_dbg(&ihost->pdev->dev,
                         "%s: start_io failed - status = 0x%x, request = %p\n",
                         __func__,