On Thu, 2017-06-08 at 17:33 +0200, Arnd Bergmann wrote: > On Thu, Jun 8, 2017 at 4:55 PM, Andy Shevchenko > <andy.shevchenko@xxxxxxxxx> wrote: > > On Thu, Jun 8, 2017 at 5:49 PM, Arnd Bergmann <arnd@xxxxxxxx> wrote: > > > On Thu, Jun 8, 2017 at 3:47 PM, Andy Shevchenko > > > <andriy.shevchenko@xxxxxxxxxxxxxxx> wrote: > > > > There are users which print time and date represented by content of > > > > struct rtc_time in human readable format. > > > > > > > > Instead of open coding that each time introduce %pt[dt][rv] specifier. > > > > > > I really like the idea, and the implementation seems fine for this use case, but > > > before we reserve %pt for rtc_time, could we discuss whether we want > > > that for printing struct tm, struct timespec64, time64_t or ktime_t instead? > > > > How many users? > > It's hard to predict, I would assume we get more users once there is an > easy way to print the time. > > > For struct tm it's somelike 4 (which want to print its content). > > Good point. I notice that they all convert from time64_t or time_t into > struct tm immediately before printing it, so we can scratch that one > as long as there is a way to pretty-print a time64_t. We also don't > need to print a time_t as we want to kill that one off anyway. > > If we only care about printing time64_t and rtc_time, we can easily > use %pT for one and %pt for the other, but there may still be good > reasons to print a timespec64 or ktime_t. > > > I can see good reasons for pretty-printing any of them, but the namespace for > > > format strings is rather limited. The kernel already uses different types for the same leading letter. For instance: %pI4 vs %pI6, %pap vs %pad A single 't' letter could do reasonably well.