]> git.ipfire.org Git - thirdparty/kernel/linux.git/commit
rtc: ds1307: handle oscillator stop flag (OSF) for ds1341
authorMeagan Lloyd <meaganlloyd@linux.microsoft.com>
Wed, 11 Jun 2025 18:14:16 +0000 (11:14 -0700)
committerAlexandre Belloni <alexandre.belloni@bootlin.com>
Wed, 23 Jul 2025 21:24:38 +0000 (23:24 +0200)
commit523923cfd5d622b8f4ba893fdaf29fa6adeb8c3e
tree6f6edd9d8a9227228af59c4f358e8ed4c87abfdd
parent48458654659c9c2e149c211d86637f1592470da5
rtc: ds1307: handle oscillator stop flag (OSF) for ds1341

In using CONFIG_RTC_HCTOSYS, rtc_hctosys() will sync the RTC time to the
kernel time as long as rtc_read_time() succeeds. In some power loss
situations, our supercapacitor-backed DS1342 RTC comes up with either an
unpredictable future time or the default 01/01/00 from the datasheet.
The oscillator stop flag (OSF) is set in these scenarios due to the
power loss and can be used to determine the validity of the RTC data.

This change expands the oscillator stop flag (OSF) handling that has
already been implemented for some chips to the ds1341 chip (DS1341 and
DS1342 share a datasheet). This handling manages the validity of the RTC
data in .read_time and .set_time based on the OSF.

Signed-off-by: Meagan Lloyd <meaganlloyd@linux.microsoft.com>
Reviewed-by: Tyler Hicks <code@tyhicks.com>
Acked-by: Rodolfo Giometti <giometti@enneenne.com>
Link: https://lore.kernel.org/r/1749665656-30108-3-git-send-email-meaganlloyd@linux.microsoft.com
Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com>
drivers/rtc/rtc-ds1307.c