On Wed, May 16, 2018 at 9:55 AM, Alexandre Belloni alexandre.belloni@bootlin.com wrote:
Hi,
On 20/04/2018 18:14:24+0200, Arnd Bergmann wrote:
This driver uses mktime() and rtc_time_to_tm() to convert between time values. This works fine on 64-bit kernels over the whole supported range, and the vr41xx chip is a 64-bit MIPS implementation, but it is inconsistent because it doesn't do the same thing on 32-bit kernels that overflow in 2106 or 2038.
Changing it to use mktime64/rtc_time64_to_tm() should have no visible impact on vr41xx but gets us closer to removing the 32-bit interfaces.
Signed-off-by: Arnd Bergmann arnd@arndb.de
drivers/rtc/rtc-vr41xx.c | 24 ++++++++++++------------ 1 file changed, 12 insertions(+), 12 deletions(-)
I've applied the series a while ago.
Thanks! We should be able to remove mktime() in the near future then, along with some other interfaces from linux/time32.h and linux/timekeeping32.h.
It should be noted that mktime64 will fail on 32bit platforms in year 21000 or so but I pretty sure it is not worth fixing. My understanding is that the kernel will fail in April 2262 anyway as ktime_t will overflow.
Right.
Note that I will be following up with multiple series adding proper rtc HW range, removing set_mmss and rtc_time_to_tm/rtc_tm_to_time64.
Ok, looking forward to those patches!
Arnd