[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <20191001135006.GC4106@piout.net>
Date: Tue, 1 Oct 2019 15:50:06 +0200
From: Alexandre Belloni <alexandre.belloni@...tlin.com>
To: Andy Shevchenko <andriy.shevchenko@...ux.intel.com>
Cc: Petr Mladek <pmladek@...e.com>, linux-kernel@...r.kernel.org,
Greg Kroah-Hartman <gregkh@...uxfoundation.org>,
Hans Verkuil <hverkuil@...all.nl>,
Mathias Nyman <mathias.nyman@...el.com>,
Jonathan Corbet <corbet@....net>,
Thierry Reding <thierry.reding@...il.com>,
Jonathan Hunter <jonathanh@...dia.com>,
John Stultz <john.stultz@...aro.org>,
Thomas Gleixner <tglx@...utronix.de>
Subject: Re: [PATCH v1 1/4] lib/vsprintf: Print time64_t in human readable
format
On 01/10/2019 16:33:35+0300, Andy Shevchenko wrote:
> On Tue, Oct 01, 2019 at 02:13:21PM +0200, Alexandre Belloni wrote:
> > On 01/10/2019 15:11:54+0300, Andy Shevchenko wrote:
> > > On Tue, Oct 01, 2019 at 01:48:16PM +0200, Alexandre Belloni wrote:
> > > > On 01/10/2019 14:36:55+0300, Andy Shevchenko wrote:
> > > > > On Mon, Sep 30, 2019 at 10:08:09PM +0200, Alexandre Belloni wrote:
> > > > > > > > Maybe be rtc_str should take a struct tm instead of an rtc_time so
> > > > > > > > time64_to_rtc_time always uses time64_to_tm.
> > > > > > >
> > > > > > > Because this one, while sounding plausible, maybe too invasive on current
> > > > > > > state of affairs.
> > > > > >
> > > > > > Well, if the kernel struct tm had an int tm_year instead of long
> > > > > > tm_year, then you could simply cast a struct rtc_time to a struct tm.
> > > > >
> > > > > I don't think so. It will be error prone from endianess prospective on
> > > > > 64-bit platforms.
> > > > >
> > > >
> > > > I don't get why, as long as the first members of both structs are the
> > > > same, this should work.
> > >
> > > On BE 64-bit we will always get tm_year == 0, won't we?
> > >
> >
> > Not if you have int tm_year in struct tm. I guess we can change the
> > kernel struct tm because it is not part of the ABI.
>
> We can, but:
> - it will require to change all `printf("%ld", tm_year)` cases at the same
> time in entire kernel (and also some functions might start producing
> warnings when some variable will be cut to int)
> - it is out of scope of this series
>
> So, I will leave it untouched for now.
>
That's fine, I was not asking to do it as a prerequisite ;)
--
Alexandre Belloni, Bootlin
Embedded Linux and Kernel engineering
https://bootlin.com
Powered by blists - more mailing lists