Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752586AbdFUIj3 (ORCPT ); Wed, 21 Jun 2017 04:39:29 -0400 Received: from mail.free-electrons.com ([62.4.15.54]:52925 "EHLO mail.free-electrons.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751148AbdFUIj0 (ORCPT ); Wed, 21 Jun 2017 04:39:26 -0400 Date: Wed, 21 Jun 2017 10:39:07 +0200 From: Alexandre Belloni To: Pavel Machek Cc: Thomas Gleixner , Russell King - ARM Linux , Benjamin Gaignard , Baruch Siach , "patches@opensource.wolfsonmicro.com" , Linus Walleij , "linux-tegra@vger.kernel.org" , Thierry Reding , "x86@kernel.org" , Jonathan Hunter , Chen-Yu Tsai , Ingo Molnar , Sylvain Lemieux , Sebastian Hesselbarth , Len Brown , "linaro-kernel@lists.linaro.org" , Jason Cooper , "rtc-linux@googlegroups.com" , "linux-pm@vger.kernel.org" , Hans Ulli Kroll , "adi-buildroot-devel@lists.sourceforge.net" , Vladimir Zapolskiy , John Stultz , Gregory Clement , Michael Chan , "linux-arm-kernel@lists.infradead.org" , Alessandro Zummo , Barry Song , Support Opensource , "netdev@vger.kernel.org" , "Rafael J. Wysocki" , "linux-kernel@vger.kernel.org" , Steve Twiss , Maxime Ripard Subject: Re: [PATCH 00/51] rtc: stop using rtc deprecated functions Message-ID: <20170621083907.y3gadsmsoufa5niv@piout.net> References: <20170620213507.urobmtg34vzubrdq@piout.net> <20170621075152.GA15996@amd> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20170621075152.GA15996@amd> User-Agent: NeoMutt/20170113 (1.7.2) Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 1671 Lines: 45 On 21/06/2017 at 09:51:52 +0200, Pavel Machek wrote: > Hi! > > > > I agree with that but not the android guys. They seem to mandate an RTC > > > that can store time from 01/01/1970. I don't know much more than that > > > because they never cared to explain why that was actually necessary > > > (apart from a laconic "this will result in a bad user experience") > > > > > > I think tglx had a plan for offsetting the time at some point so 32-bit > > > platform can pass 2038 properly. > > > > Yes, but there are still quite some issues to solve there: > > > > 1) How do you tell the system that it should apply the offset in the > > first place, i.e at boot time before NTP or any other mechanism can > > correct it? > > I'd not do offset. Instead, I'd select a threshold (perhaps year of > release of given kernel?) and > > if (rtc_time < year_of_release_of_kernel) > rtc_time += 0x100000000; > > Ok, we'll have to move away from "rtc_time == 0 indicates zero", as > seen in some drivers. > > > 2) Deal with creative vendors who have their own idea about the 'start > > of the epoch' > > If someone uses different threshold, well, there will be > confusion. But only for users that have their rtc set to the past, > which is quite unusual. > Or not, having an RTC set in the past is actually quite common. I'd find it weird to have a new device boot and be set to a date in the future. Also note that the threshold or offset thing may seem like a good idea but fails with many RTCs because of how they handle leap years. -- Alexandre Belloni, Free Electrons Embedded Linux and Kernel engineering http://free-electrons.com