linux/arch/m68k/mac
Arnd Bergmann 5b9bfb8ec4 m68k: mac: Use time64_t in RTC handling
The real-time clock on m68k (and powerpc) mac systems uses an unsigned
32-bit value starting in 1904, which overflows in 2040, about two years
later than everyone else, but this gets wrapped around in the Linux
code in 2038 already because of the deprecated usage of time_t and/or
long in the conversion.

Getting rid of the deprecated interfaces makes it work until 2040 as
documented, and it could be easily extended by reinterpreting
the resulting time64_t as a positive number. For the moment, I'm
adding a WARN_ON() that triggers if we encounter a time before 1970
or after 2040 (the two are indistinguishable).

This brings it in line with the corresponding code that we have on
powerpc macintosh.

Signed-off-by: Arnd Bergmann <arnd@arndb.de>
[fthain: Adopt __u32 for the union in via_read_time(), consistent with
	 changes to via_write_time()]
[fthain: Use lower_32_bits() in via_write_time(), consistent with changes
	 to pmu_write_time() and cuda_write_time()]
[fthain: Have via_read_time() return a time64_t, consistent with changes
	 to pmu_read_time() and cuda_read_time()]
[fthain: Drop the pointless wraparound conditional in via_read_time()]
Signed-off-by: Finn Thain <fthain@telegraphics.com.au>
Reviewed-by: Arnd Bergmann <arnd@arndb.de>
[geert: Drop WARN_ON(), as it is reported to trigger on powermac]
Signed-off-by: Geert Uytterhoeven <geert@linux-m68k.org>
2018-07-29 10:44:58 +02:00
..
baboon.c m68k/mac: Fix apparent race condition in Baboon interrupt dispatch 2018-03-19 10:22:59 +01:00
config.c m68k/mac: Enable PDMA for PowerBook 500 series 2018-07-23 15:07:12 +02:00
iop.c m68k/mac: Add mutual exclusion for IOP interrupt polling 2017-11-09 23:02:57 +01:00
mac_penguin.S License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
macboing.c m68k/macboing: Fix missed timer callback assignment 2017-11-24 16:19:40 +01:00
macints.c License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
Makefile mac68k: replace mac68k SCC code with platform device 2010-02-27 18:31:09 +01:00
misc.c m68k: mac: Use time64_t in RTC handling 2018-07-29 10:44:58 +02:00
oss.c m68k/mac: Fix race conditions in OSS interrupt dispatch 2018-01-16 16:52:17 +01:00
psc.c m68k/mac: More printk modernization 2017-11-09 23:02:56 +01:00
via.c m68k updates for 4.15 2017-11-13 12:10:24 -08:00