]> git.ipfire.org Git - thirdparty/kernel/stable.git/commit
rtc: Make rtc_time64_to_tm() support dates before 1970
authorAlexandre Mergnat <amergnat@baylibre.com>
Mon, 28 Apr 2025 10:06:47 +0000 (12:06 +0200)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Tue, 10 Jun 2025 11:15:56 +0000 (07:15 -0400)
commit1fd85fd8b7baf1ff9336fb4fd26e94a3ae2e1bf1
treef756cf4e227798df956fbfd0af8922fcd3a0a51c
parentf8a02b6e4f1e723149e1b52c01ea89a79f567487
rtc: Make rtc_time64_to_tm() support dates before 1970

commit 7df4cfef8b351fec3156160bedfc7d6d29de4cce upstream.

Conversion of dates before 1970 is still relevant today because these
dates are reused on some hardwares to store dates bigger than the
maximal date that is representable in the device's native format.
This prominently and very soon affects the hardware covered by the
rtc-mt6397 driver that can only natively store dates in the interval
1900-01-01 up to 2027-12-31. So to store the date 2028-01-01 00:00:00
to such a device, rtc_time64_to_tm() must do the right thing for
time=-2208988800.

Signed-off-by: Alexandre Mergnat <amergnat@baylibre.com>
Reviewed-by: Uwe Kleine-König <u.kleine-koenig@baylibre.com>
Link: https://lore.kernel.org/r/20250428-enable-rtc-v4-1-2b2f7e3f9349@baylibre.com
Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com>
Signed-off-by: Uwe Kleine-König <u.kleine-koenig@baylibre.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/rtc/lib.c