]> git.baikalelectronics.ru Git - kernel.git/commitdiff
scsi: ufs: Rename sdev_ufs_device into ufs_device_wlun
authorBart Van Assche <bvanassche@acm.org>
Tue, 19 Apr 2022 22:57:59 +0000 (15:57 -0700)
committerMartin K. Petersen <martin.petersen@oracle.com>
Tue, 26 Apr 2022 03:23:03 +0000 (23:23 -0400)
The new name reflects the role of this member variable better: a WLUN
through which the power mode of the UFS device is controlled.

Link: https://lore.kernel.org/r/20220419225811.4127248-17-bvanassche@acm.org
Tested-by: Bean Huo <beanhuo@micron.com>
Reviewed-by: Avri Altman <avri.altman@wdc.com>
Reviewed-by: Bean Huo <beanhuo@micron.com>
Signed-off-by: Bart Van Assche <bvanassche@acm.org>
Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
drivers/scsi/ufs/ufshcd.c
drivers/scsi/ufs/ufshcd.h

index 9e09856229eb5a387c215c5f11e94cc3e2f615d2..11808ce43357c48209d911bc44d9766bd8784b16 100644 (file)
@@ -540,7 +540,7 @@ static void ufshcd_print_tmrs(struct ufs_hba *hba, unsigned long bitmap)
 
 static void ufshcd_print_host_state(struct ufs_hba *hba)
 {
-       struct scsi_device *sdev_ufs = hba->sdev_ufs_device;
+       struct scsi_device *sdev_ufs = hba->ufs_device_wlun;
 
        dev_err(hba->dev, "UFS Host state=%d\n", hba->ufshcd_state);
        dev_err(hba->dev, "outstanding reqs=0x%lx tasks=0x%lx\n",
@@ -4195,7 +4195,7 @@ void ufshcd_auto_hibern8_update(struct ufs_hba *hba, u32 ahit)
        spin_unlock_irqrestore(hba->host->host_lock, flags);
 
        if (update &&
-           !pm_runtime_suspended(&hba->sdev_ufs_device->sdev_gendev)) {
+           !pm_runtime_suspended(&hba->ufs_device_wlun->sdev_gendev)) {
                ufshcd_rpm_get_sync(hba);
                ufshcd_hold(hba, false);
                ufshcd_auto_hibern8_enable(hba);
@@ -4911,13 +4911,13 @@ static void ufshcd_setup_links(struct ufs_hba *hba, struct scsi_device *sdev)
         * Device wlun is the supplier & rest of the luns are consumers.
         * This ensures that device wlun suspends after all other luns.
         */
-       if (hba->sdev_ufs_device) {
+       if (hba->ufs_device_wlun) {
                link = device_link_add(&sdev->sdev_gendev,
-                                      &hba->sdev_ufs_device->sdev_gendev,
+                                      &hba->ufs_device_wlun->sdev_gendev,
                                       DL_FLAG_PM_RUNTIME | DL_FLAG_RPM_ACTIVE);
                if (!link) {
                        dev_err(&sdev->sdev_gendev, "Failed establishing link - %s\n",
-                               dev_name(&hba->sdev_ufs_device->sdev_gendev));
+                               dev_name(&hba->ufs_device_wlun->sdev_gendev));
                        return;
                }
                hba->luns_avail--;
@@ -5053,15 +5053,15 @@ static void ufshcd_slave_destroy(struct scsi_device *sdev)
        /* Drop the reference as it won't be needed anymore */
        if (ufshcd_scsi_to_upiu_lun(sdev->lun) == UFS_UPIU_UFS_DEVICE_WLUN) {
                spin_lock_irqsave(hba->host->host_lock, flags);
-               hba->sdev_ufs_device = NULL;
+               hba->ufs_device_wlun = NULL;
                spin_unlock_irqrestore(hba->host->host_lock, flags);
-       } else if (hba->sdev_ufs_device) {
+       } else if (hba->ufs_device_wlun) {
                struct device *supplier = NULL;
 
                /* Ensure UFS Device WLUN exists and does not disappear */
                spin_lock_irqsave(hba->host->host_lock, flags);
-               if (hba->sdev_ufs_device) {
-                       supplier = &hba->sdev_ufs_device->sdev_gendev;
+               if (hba->ufs_device_wlun) {
+                       supplier = &hba->ufs_device_wlun->sdev_gendev;
                        get_device(supplier);
                }
                spin_unlock_irqrestore(hba->host->host_lock, flags);
@@ -6037,7 +6037,7 @@ static void ufshcd_clk_scaling_suspend(struct ufs_hba *hba, bool suspend)
 static void ufshcd_err_handling_prepare(struct ufs_hba *hba)
 {
        ufshcd_rpm_get_sync(hba);
-       if (pm_runtime_status_suspended(&hba->sdev_ufs_device->sdev_gendev) ||
+       if (pm_runtime_status_suspended(&hba->ufs_device_wlun->sdev_gendev) ||
            hba->is_sys_suspended) {
                enum ufs_pm_op pm_op;
 
@@ -6082,7 +6082,7 @@ static void ufshcd_err_handling_unprepare(struct ufs_hba *hba)
 static inline bool ufshcd_err_handling_should_stop(struct ufs_hba *hba)
 {
        return (!hba->is_powered || hba->shutting_down ||
-               !hba->sdev_ufs_device ||
+               !hba->ufs_device_wlun ||
                hba->ufshcd_state == UFSHCD_STATE_ERROR ||
                (!(hba->saved_err || hba->saved_uic_err || hba->force_reset ||
                   ufshcd_is_link_broken(hba))));
@@ -6101,7 +6101,7 @@ static void ufshcd_recover_pm_error(struct ufs_hba *hba)
         * Set RPM status of wlun device to RPM_ACTIVE,
         * this also clears its runtime error.
         */
-       ret = pm_runtime_set_active(&hba->sdev_ufs_device->sdev_gendev);
+       ret = pm_runtime_set_active(&hba->ufs_device_wlun->sdev_gendev);
 
        /* hba device might have a runtime error otherwise */
        if (ret)
@@ -7495,20 +7495,20 @@ static int ufshcd_scsi_add_wlus(struct ufs_hba *hba)
        int ret = 0;
        struct scsi_device *sdev_boot, *sdev_rpmb;
 
-       hba->sdev_ufs_device = __scsi_add_device(hba->host, 0, 0,
+       hba->ufs_device_wlun = __scsi_add_device(hba->host, 0, 0,
                ufshcd_upiu_wlun_to_scsi_wlun(UFS_UPIU_UFS_DEVICE_WLUN), NULL);
-       if (IS_ERR(hba->sdev_ufs_device)) {
-               ret = PTR_ERR(hba->sdev_ufs_device);
-               hba->sdev_ufs_device = NULL;
+       if (IS_ERR(hba->ufs_device_wlun)) {
+               ret = PTR_ERR(hba->ufs_device_wlun);
+               hba->ufs_device_wlun = NULL;
                goto out;
        }
-       scsi_device_put(hba->sdev_ufs_device);
+       scsi_device_put(hba->ufs_device_wlun);
 
        sdev_rpmb = __scsi_add_device(hba->host, 0, 0,
                ufshcd_upiu_wlun_to_scsi_wlun(UFS_UPIU_RPMB_WLUN), NULL);
        if (IS_ERR(sdev_rpmb)) {
                ret = PTR_ERR(sdev_rpmb);
-               goto remove_sdev_ufs_device;
+               goto remove_ufs_device_wlun;
        }
        ufshcd_blk_pm_runtime_init(sdev_rpmb);
        scsi_device_put(sdev_rpmb);
@@ -7523,8 +7523,8 @@ static int ufshcd_scsi_add_wlus(struct ufs_hba *hba)
        }
        goto out;
 
-remove_sdev_ufs_device:
-       scsi_remove_device(hba->sdev_ufs_device);
+remove_ufs_device_wlun:
+       scsi_remove_device(hba->ufs_device_wlun);
 out:
        return ret;
 }
@@ -8660,7 +8660,7 @@ static int ufshcd_set_dev_pwr_mode(struct ufs_hba *hba,
        int ret, retries;
 
        spin_lock_irqsave(hba->host->host_lock, flags);
-       sdp = hba->sdev_ufs_device;
+       sdp = hba->ufs_device_wlun;
        if (sdp) {
                ret = scsi_device_get(sdp);
                if (!ret && !scsi_device_online(sdp)) {
@@ -9224,7 +9224,7 @@ static void ufshcd_wl_shutdown(struct device *dev)
        ufshcd_rpm_get_sync(hba);
        scsi_device_quiesce(sdev);
        shost_for_each_device(sdev, hba->host) {
-               if (sdev == hba->sdev_ufs_device)
+               if (sdev == hba->ufs_device_wlun)
                        continue;
                scsi_device_quiesce(sdev);
        }
@@ -9445,7 +9445,7 @@ EXPORT_SYMBOL(ufshcd_shutdown);
  */
 void ufshcd_remove(struct ufs_hba *hba)
 {
-       if (hba->sdev_ufs_device)
+       if (hba->ufs_device_wlun)
                ufshcd_rpm_get_sync(hba);
        ufs_hwmon_remove(hba);
        ufs_bsg_remove(hba);
@@ -9773,7 +9773,7 @@ EXPORT_SYMBOL_GPL(ufshcd_resume_complete);
 
 static bool ufshcd_rpm_ok_for_spm(struct ufs_hba *hba)
 {
-       struct device *dev = &hba->sdev_ufs_device->sdev_gendev;
+       struct device *dev = &hba->ufs_device_wlun->sdev_gendev;
        enum ufs_dev_pwr_mode dev_pwr_mode;
        enum uic_link_state link_state;
        unsigned long flags;
@@ -9802,7 +9802,7 @@ int __ufshcd_suspend_prepare(struct device *dev, bool rpm_ok_for_spm)
         * if it's runtime suspended. But ufs doesn't follow that.
         * Refer ufshcd_resume_complete()
         */
-       if (hba->sdev_ufs_device) {
+       if (hba->ufs_device_wlun) {
                /* Prevent runtime suspend */
                ufshcd_rpm_get_noresume(hba);
                /*
index a6c12869b2db32f946c6c8db7bc11363a88fb57b..e9cdfbe64c09d1a7469ff1ece81c735fd1372241 100644 (file)
@@ -732,6 +732,7 @@ struct ufs_hba_monitor {
  * @utmrdl_dma_addr: UTMRDL DMA address
  * @host: Scsi_Host instance of the driver
  * @dev: device handle
+ * @ufs_device_wlun: WLUN that controls the entire UFS device.
  * @lrb: local reference block
  * @outstanding_tasks: Bits representing outstanding task requests
  * @outstanding_lock: Protects @outstanding_reqs.
@@ -799,11 +800,7 @@ struct ufs_hba {
 
        struct Scsi_Host *host;
        struct device *dev;
-       /*
-        * This field is to keep a reference to "scsi_device" corresponding to
-        * "UFS device" W-LU.
-        */
-       struct scsi_device *sdev_ufs_device;
+       struct scsi_device *ufs_device_wlun;
 
 #ifdef CONFIG_SCSI_UFS_HWMON
        struct device *hwmon_device;
@@ -1405,27 +1402,27 @@ static inline int ufshcd_update_ee_usr_mask(struct ufs_hba *hba,
 
 static inline int ufshcd_rpm_get_sync(struct ufs_hba *hba)
 {
-       return pm_runtime_get_sync(&hba->sdev_ufs_device->sdev_gendev);
+       return pm_runtime_get_sync(&hba->ufs_device_wlun->sdev_gendev);
 }
 
 static inline int ufshcd_rpm_put_sync(struct ufs_hba *hba)
 {
-       return pm_runtime_put_sync(&hba->sdev_ufs_device->sdev_gendev);
+       return pm_runtime_put_sync(&hba->ufs_device_wlun->sdev_gendev);
 }
 
 static inline void ufshcd_rpm_get_noresume(struct ufs_hba *hba)
 {
-       pm_runtime_get_noresume(&hba->sdev_ufs_device->sdev_gendev);
+       pm_runtime_get_noresume(&hba->ufs_device_wlun->sdev_gendev);
 }
 
 static inline int ufshcd_rpm_resume(struct ufs_hba *hba)
 {
-       return pm_runtime_resume(&hba->sdev_ufs_device->sdev_gendev);
+       return pm_runtime_resume(&hba->ufs_device_wlun->sdev_gendev);
 }
 
 static inline int ufshcd_rpm_put(struct ufs_hba *hba)
 {
-       return pm_runtime_put(&hba->sdev_ufs_device->sdev_gendev);
+       return pm_runtime_put(&hba->ufs_device_wlun->sdev_gendev);
 }
 
 #endif /* End of Header */