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. >> >> struct rtc_time is almost the same as struct tm (the former has one extra >> member), so maybe we can actually define them to be the same and >> use one format string for both? > > The reason I decide to drop struct tm for now due to they are not > compatible and I have got an interesting bugs. Ok. Arnd