Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752088AbdFHPdv (ORCPT ); Thu, 8 Jun 2017 11:33:51 -0400 Received: from mail-oi0-f65.google.com ([209.85.218.65]:35693 "EHLO mail-oi0-f65.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751701AbdFHPdt (ORCPT ); Thu, 8 Jun 2017 11:33:49 -0400 MIME-Version: 1.0 In-Reply-To: References: <20170608134811.60786-1-andriy.shevchenko@linux.intel.com> <20170608134811.60786-5-andriy.shevchenko@linux.intel.com> From: Arnd Bergmann Date: Thu, 8 Jun 2017 17:33:42 +0200 X-Google-Sender-Auth: iYVzG9R7cMLB2lQuFU_1l68qd4E Message-ID: Subject: Re: [PATCH v1 04/25] lib/vsprintf: Print time and date in human readable format via %pt To: Andy Shevchenko Cc: Andy Shevchenko , Rasmus Villemoes , Greg Kroah-Hartman , Andrew Morton , Linux Kernel Mailing List , Alessandro Zummo , Alexandre Belloni , linux-rtc@vger.kernel.org, Bartlomiej Zolnierkiewicz , Dmitry Torokhov , Geert Uytterhoeven , Guan Xuetao , Ingo Molnar , Jason Wessel , Jonathan Corbet , Jonathan Hunter , Krzysztof Kozlowski , "Rafael J. Wysocki" , Thierry Reding Content-Type: text/plain; charset="UTF-8" Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 1767 Lines: 43 On Thu, Jun 8, 2017 at 4:55 PM, Andy Shevchenko wrote: > On Thu, Jun 8, 2017 at 5:49 PM, Arnd Bergmann wrote: >> On Thu, Jun 8, 2017 at 3:47 PM, Andy Shevchenko >> 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