Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1751868AbdFTN00 (ORCPT ); Tue, 20 Jun 2017 09:26:26 -0400 Received: from atrey.karlin.mff.cuni.cz ([195.113.26.193]:34559 "EHLO atrey.karlin.mff.cuni.cz" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1750993AbdFTN0Y (ORCPT ); Tue, 20 Jun 2017 09:26:24 -0400 Date: Tue, 20 Jun 2017 15:26:20 +0200 From: Pavel Machek To: Alexandre Belloni Cc: Benjamin Gaignard , linaro-kernel@lists.linaro.org, adi-buildroot-devel@lists.sourceforge.net, Alessandro Zummo , Gregory Clement , Ingo Molnar , Jason Cooper , John Stultz , linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org, Linus Walleij , Michael Chan , netdev@vger.kernel.org, rtc-linux@googlegroups.com, Sebastian Hesselbarth , Support Opensource , Thomas Gleixner , x86@kernel.org, Baruch Siach , Hans Ulli Kroll , Vladimir Zapolskiy , Sylvain Lemieux , Barry Song , Maxime Ripard , Chen-Yu Tsai , Thierry Reding , Jonathan Hunter , linux-tegra@vger.kernel.org, patches@opensource.wolfsonmicro.com, "Rafael J. Wysocki" , Len Brown , linux-pm@vger.kernel.org Subject: Re: [PATCH 00/51] rtc: stop using rtc deprecated functions Message-ID: <20170620132620.GA16881@amd> References: <1497951359-13334-1-git-send-email-benjamin.gaignard@linaro.org> <20170620100348.zh4ygvjjgnhxvmvl@piout.net> <20170620121011.GA13221@amd> <20170620122400.sm7qqvwyj6cuzarw@piout.net> MIME-Version: 1.0 Content-Type: multipart/signed; micalg=pgp-sha1; protocol="application/pgp-signature"; boundary="PEIAKu/WMn1b1Hv9" Content-Disposition: inline In-Reply-To: <20170620122400.sm7qqvwyj6cuzarw@piout.net> User-Agent: Mutt/1.5.23 (2014-03-12) Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 2336 Lines: 65 --PEIAKu/WMn1b1Hv9 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline Content-Transfer-Encoding: quoted-printable On Tue 2017-06-20 14:24:00, Alexandre Belloni wrote: > On 20/06/2017 at 14:10:11 +0200, Pavel Machek wrote: > > On Tue 2017-06-20 12:03:48, Alexandre Belloni wrote: > > > On 20/06/2017 at 11:35:08 +0200, Benjamin Gaignard wrote: > > > > rtc_time_to_tm() and rtc_tm_to_time() are deprecated because they > > > > rely on 32bits variables and that will make rtc break in y2038/2016. > > >=20 > > > Please don't, because this hide the fact that the hardware will not > > > handle dates in y2038 anyway and as pointed by Russell a few month ag= o, > > > rtc_time_to_tm will be able to catch it but the 64 bit version will > > > silently ignore it. > >=20 > > Reference? Because rtc on PCs stores date in binary coded decimal, so > > it is likely to break in 2100, not 2038... >=20 > I'm not saying it should be done but clearly, that is not the correct > thing to do for RTCs that are using a single 32 bits register to store > the time. > You give one example, I can give you three: armada38x, at91sam9, > at32ap700x and that just in the beginning of the series. I wanted reference to Russell's mail. > And yes, on PC, they will break in 2100, other in 2106, some in 2070. > I've delayed the tree wide patching until I manage to finish reworking > the infrastructure needed to handle the limits of the RTCs. Kernel does not know if it has working RTC or not, so it should use 64bit variables. Merging this -- does not hide anything. Yes, some drivers still may have problems -- so we fix the drivers. You said: > > > rtc_time_to_tm will be able to catch it but the 64 bit will > > > silently ignore it. If that's the case, we may need 64bit version to be smarter.. but we'll still need 64bit variables in the kernel. Pavel --=20 (english) http://www.livejournal.com/~pavelmachek (cesky, pictures) http://atrey.karlin.mff.cuni.cz/~pavel/picture/horses/blo= g.html --PEIAKu/WMn1b1Hv9 Content-Type: application/pgp-signature; name="signature.asc" Content-Description: Digital signature -----BEGIN PGP SIGNATURE----- Version: GnuPG v1 iEYEARECAAYFAllJInwACgkQMOfwapXb+vKvOACfa+kGFBRxWhkRpGKLgcPlEMXc Xp4An1BROF4v4jttS9yXrXm9FyxGRyLs =CY2S -----END PGP SIGNATURE----- --PEIAKu/WMn1b1Hv9--