Message ID | 20250206155822.1126056-1-andriy.shevchenko@linux.intel.com (mailing list archive) |
---|---|
State | Changes Requested |
Headers | show |
Series | [v1,1/1] scsi: lpfc: Switch to use %ptTs | expand |
On Thu, Feb 06, 2025 at 05:58:22PM +0200, Andy Shevchenko wrote: > Use %ptTs instead of open-coded variant to print contents of time64_t type > in human readable form. > > Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com> > --- > drivers/scsi/lpfc/lpfc_init.c | 15 +-------------- > 1 file changed, 1 insertion(+), 14 deletions(-) > > diff --git a/drivers/scsi/lpfc/lpfc_init.c b/drivers/scsi/lpfc/lpfc_init.c > index e360fc79b028..240e92143d73 100644 > --- a/drivers/scsi/lpfc/lpfc_init.c > +++ b/drivers/scsi/lpfc/lpfc_init.c > @@ -5643,24 +5643,11 @@ void > lpfc_cgn_update_tstamp(struct lpfc_hba *phba, struct lpfc_cgn_ts *ts) > { > struct timespec64 cur_time; > - struct tm tm_val; > > ktime_get_real_ts64(&cur_time); > - time64_to_tm(cur_time.tv_sec, 0, &tm_val); > - > - ts->month = tm_val.tm_mon + 1; > - ts->day = tm_val.tm_mday; > - ts->year = tm_val.tm_year - 100; > - ts->hour = tm_val.tm_hour; > - ts->minute = tm_val.tm_min; > - ts->second = tm_val.tm_sec; > > lpfc_printf_log(phba, KERN_INFO, LOG_CGN_MGMT, > - "2646 Updated CMF timestamp : " > - "%u/%u/%u %u:%u:%u\n", > - ts->day, ts->month, > - ts->year, ts->hour, > - ts->minute, ts->second); > + "2646 Updated CMF timestamp : %ptTs\n", cur_time); All %p<FOO> arguments need to be addresses. Also %ptT wants a time64_t, not a 'struct timespec64'. It would work by chance because tv_sec is the first member and time64_t. Correct: "&cur_time.tv_sec". > } > > /** > -- > 2.43.0.rc1.1336.g36b5255a03ac >
Hi Andy, The purpose of the lpfc_cgn_update_tstamp routine is more than just printf. The *ts pointer argument is updated with cur_time, and is typically a pointer to a global statistics struct used by the device driver in various contexts. Sorry, but we can’t remove the lines suggested in this patch. Regards, Justin Tee
On Thu, Feb 06, 2025 at 05:52:16PM +0100, Thomas Weißschuh wrote: > On Thu, Feb 06, 2025 at 05:58:22PM +0200, Andy Shevchenko wrote: ... > > lpfc_printf_log(phba, KERN_INFO, LOG_CGN_MGMT, > > - "2646 Updated CMF timestamp : " > > - "%u/%u/%u %u:%u:%u\n", > > - ts->day, ts->month, > > - ts->year, ts->hour, > > - ts->minute, ts->second); > > + "2646 Updated CMF timestamp : %ptTs\n", cur_time); > > All %p<FOO> arguments need to be addresses. > Also %ptT wants a time64_t, not a 'struct timespec64'. > It would work by chance because tv_sec is the first member and time64_t. > > Correct: "&cur_time.tv_sec". Indeed, thanks!
On Thu, Feb 06, 2025 at 10:16:09AM -0800, Justin Tee wrote: > Hi Andy, > > The purpose of the lpfc_cgn_update_tstamp routine is more than just > printf. The *ts pointer argument is updated with cur_time, and is > typically a pointer to a global statistics struct used by the device > driver in various contexts. Sorry, but we can’t remove the lines > suggested in this patch. Ah, you are right, the ts is used somewhere else.
diff --git a/drivers/scsi/lpfc/lpfc_init.c b/drivers/scsi/lpfc/lpfc_init.c index e360fc79b028..240e92143d73 100644 --- a/drivers/scsi/lpfc/lpfc_init.c +++ b/drivers/scsi/lpfc/lpfc_init.c @@ -5643,24 +5643,11 @@ void lpfc_cgn_update_tstamp(struct lpfc_hba *phba, struct lpfc_cgn_ts *ts) { struct timespec64 cur_time; - struct tm tm_val; ktime_get_real_ts64(&cur_time); - time64_to_tm(cur_time.tv_sec, 0, &tm_val); - - ts->month = tm_val.tm_mon + 1; - ts->day = tm_val.tm_mday; - ts->year = tm_val.tm_year - 100; - ts->hour = tm_val.tm_hour; - ts->minute = tm_val.tm_min; - ts->second = tm_val.tm_sec; lpfc_printf_log(phba, KERN_INFO, LOG_CGN_MGMT, - "2646 Updated CMF timestamp : " - "%u/%u/%u %u:%u:%u\n", - ts->day, ts->month, - ts->year, ts->hour, - ts->minute, ts->second); + "2646 Updated CMF timestamp : %ptTs\n", cur_time); } /**
Use %ptTs instead of open-coded variant to print contents of time64_t type in human readable form. Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com> --- drivers/scsi/lpfc/lpfc_init.c | 15 +-------------- 1 file changed, 1 insertion(+), 14 deletions(-)