Re: [PATCH v1 1/2] scsi: ufs: core: Add UFS RTC support

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On 11/9/23 04:52, Bean Huo wrote:
The objective of this patch is to incorporate Real Time Clock (RTC) support in Universal
Flash Storage (UFS) device. This enhancement is crucial for the internal maintenance
operations of the UFS device.

That sounds vague. Please explain why a UFS device should know the real
time since other storage devices don't need to know the real time.

+		dev_info->rtc_time_baseline = mktime64(2010, 1, 1, 0, 0, 0) -
+								mktime64(1970, 1, 1, 0, 0, 0);

The formatting of the above code is not compliant with the kernel coding
style. Please consider reformatting this patch with e.g.
git clang-format HEAD^.

+	schedule_delayed_work(&hba->ufs_rtc_delayed_work,
+							msecs_to_jiffies(UFS_RTC_UPDATE_EVERY_MS));

The formatting of the above code is not compliant with the style guide
either.

@@ -9746,6 +9834,8 @@ static int __ufshcd_wl_suspend(struct ufs_hba *hba, enum ufs_pm_op pm_op)
  	ret = ufshcd_vops_suspend(hba, pm_op, POST_CHANGE);
  	if (ret)
  		goto set_link_active;
+
+	cancel_delayed_work(&hba->ufs_rtc_delayed_work);

Why cancel_delayed_work() instead of cancel_delayed_work_sync()?

@@ -9840,6 +9930,8 @@ static int __ufshcd_wl_resume(struct ufs_hba *hba, enum ufs_pm_op pm_op)
  		if (ret)
  			goto set_old_link_state;
  		ufshcd_set_timestamp_attr(hba);
+		schedule_delayed_work(&hba->ufs_rtc_delayed_work,
+							msecs_to_jiffies(UFS_RTC_UPDATE_EVERY_MS));

The name of the constant "UFS_RTC_UPDATE_EVERY_MS" suggests that the
real-time clock is updated 1000 times per second while the comment above
the UFS_RTC_UPDATE_EVERY_MS constant says that it is updated once every
ten seconds. Please choose a better name for UFS_RTC_UPDATE_EVERY_MS,
e.g. UFS_RTC_UPDATE_INTERVAL_MS.

diff --git a/include/ufs/ufs.h b/include/ufs/ufs.h
index e77ab1786856..18b39c6b3a97 100644
--- a/include/ufs/ufs.h
+++ b/include/ufs/ufs.h
@@ -14,6 +14,7 @@
  #include <linux/bitops.h>
  #include <linux/types.h>
  #include <uapi/scsi/scsi_bsg_ufs.h>
+#include <linux/rtc.h>

The include/ufs/ufs.h header file does not depend on anything declared
in <linux/rtc.h> so please move the above include directive into a .c
file.

+	struct delayed_work ufs_rtc_delayed_work;

Please change the name of this structure member into
ufs_rtc_update_work.

Thanks,

Bart.




[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Index of Archives]     [SCSI Target Devel]     [Linux SCSI Target Infrastructure]     [Kernel Newbies]     [IDE]     [Security]     [Git]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux ATA RAID]     [Linux IIO]     [Samba]     [Device Mapper]

  Powered by Linux