linux-yocto/drivers/rtc
Meagan Lloyd 481701300b rtc: ds1307: remove clear of oscillator stop flag (OSF) in probe
[ Upstream commit 4845865465 ]

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.

Some chip types in the ds1307 driver already have OSF handling to
determine whether .read_time provides valid RTC data or returns -EINVAL.

This change removes the clear of the OSF in .probe as the OSF needs to
be preserved to expand the OSF handling to the ds1341 chip type (note
that DS1341 and DS1342 share a datasheet).

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-2-git-send-email-meaganlloyd@linux.microsoft.com
Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com>
Signed-off-by: Sasha Levin <sashal@kernel.org>
2025-08-28 16:24:26 +02:00
..
class.c rtc: Fix offset calculation for .start_secs < 0 2025-06-27 11:05:09 +01:00
dev.c
interface.c rtc: check if __rtc_read_time was successful in rtc_timer_do_work() 2024-12-14 19:51:20 +01:00
Kconfig rtc: mt6397: select IRQ_DOMAIN instead of depending on it 2024-03-26 18:21:34 -04:00
lib_test.c
lib.c rtc: Make rtc_time64_to_tm() support dates before 1970 2025-06-27 11:05:09 +01:00
Makefile
nvmem.c
proc.c
rtc-88pm80x.c
rtc-88pm860x.c
rtc-ab-b5ze-s3.c
rtc-ab-eoz9.c rtc: ab-eoz9: don't fail temperature reads on undervoltage notification 2024-12-14 19:51:21 +01:00
rtc-ab8500.c
rtc-abx80x.c rtc: abx80x: Fix WDT bit position of the status register 2024-12-14 19:51:19 +01:00
rtc-ac100.c
rtc-armada38x.c
rtc-as3722.c
rtc-asm9260.c
rtc-aspeed.c
rtc-at91rm9200.c
rtc-at91sam9.c rtc: at91sam9: fix OF node leak in probe() error path 2024-10-17 15:11:41 +02:00
rtc-au1xxx.c
rtc-bd70528.c
rtc-bq32k.c
rtc-bq4802.c
rtc-brcmstb-waketimer.c
rtc-cadence.c
rtc-cmos.c rtc: cmos: use spin_lock_irqsave in cmos_interrupt 2025-07-10 15:57:42 +02:00
rtc-core.h
rtc-cpcap.c
rtc-cros-ec.c
rtc-da9052.c
rtc-da9055.c
rtc-da9063.c
rtc-davinci.c
rtc-digicolor.c
rtc-dm355evm.c
rtc-ds1216.c
rtc-ds1286.c
rtc-ds1302.c
rtc-ds1305.c
rtc-ds1307.c rtc: ds1307: remove clear of oscillator stop flag (OSF) in probe 2025-08-28 16:24:26 +02:00
rtc-ds1343.c
rtc-ds1347.c
rtc-ds1374.c
rtc-ds1390.c
rtc-ds1511.c
rtc-ds1553.c
rtc-ds1672.c
rtc-ds1685.c
rtc-ds1742.c
rtc-ds2404.c
rtc-ds3232.c
rtc-efi.c
rtc-em3027.c
rtc-ep93xx.c
rtc-fm3130.c
rtc-fsl-ftm-alarm.c
rtc-ftrtc010.c
rtc-generic.c
rtc-goldfish.c
rtc-hid-sensor-time.c
rtc-hym8563.c rtc: hym8563: fix incorrect maximum clock rate handling 2025-08-28 16:24:11 +02:00
rtc-imx-sc.c
rtc-imxdi.c
rtc-isl1208.c rtc: isl1208: Fix return value of nvmem callbacks 2024-08-19 05:45:20 +02:00
rtc-isl12022.c
rtc-isl12026.c
rtc-jz4740.c
rtc-lp8788.c
rtc-lpc24xx.c
rtc-lpc32xx.c
rtc-ls1x.c
rtc-m41t80.c
rtc-m41t93.c
rtc-m41t94.c
rtc-m48t35.c
rtc-m48t59.c
rtc-m48t86.c
rtc-max6900.c
rtc-max6902.c
rtc-max6916.c
rtc-max8907.c
rtc-max8925.c
rtc-max8997.c
rtc-max8998.c
rtc-max77686.c
rtc-mc13xxx.c
rtc-mc146818-lib.c
rtc-mcp795.c
rtc-meson-vrtc.c
rtc-meson.c
rtc-moxart.c
rtc-mpc5121.c
rtc-msm6242.c
rtc-mt2712.c
rtc-mt6397.c
rtc-mt7622.c
rtc-mv.c
rtc-mxc_v2.c
rtc-mxc.c
rtc-ntxec.c
rtc-omap.c
rtc-opal.c
rtc-palmas.c
rtc-pcap.c
rtc-pcf2123.c
rtc-pcf2127.c
rtc-pcf8523.c
rtc-pcf8563.c rtc: pcf8563: fix incorrect maximum clock rate handling 2025-08-28 16:24:12 +02:00
rtc-pcf8583.c
rtc-pcf50633.c
rtc-pcf85063.c rtc: pcf85063: fix incorrect maximum clock rate handling 2025-08-28 16:24:11 +02:00
rtc-pcf85363.c
rtc-pic32.c
rtc-pl030.c
rtc-pl031.c
rtc-pm8xxx.c
rtc-ps3.c
rtc-pxa.c
rtc-r7301.c
rtc-r9701.c
rtc-rc5t583.c
rtc-rc5t619.c
rtc-rk808.c
rtc-rp5c01.c
rtc-rs5c313.c
rtc-rs5c348.c
rtc-rs5c372.c
rtc-rtd119x.c
rtc-rv3028.c rtc: rv3028: fix incorrect maximum clock rate handling 2025-08-28 16:24:12 +02:00
rtc-rv3029c2.c
rtc-rv3032.c rtc: rv3032: fix EERD location 2025-06-04 14:37:57 +02:00
rtc-rv8803.c
rtc-rx4581.c
rtc-rx6110.c
rtc-rx8010.c
rtc-rx8025.c
rtc-rx8581.c
rtc-s3c.c
rtc-s3c.h
rtc-s5m.c
rtc-s35390a.c
rtc-sa1100.c
rtc-sa1100.h
rtc-sc27xx.c
rtc-sd3078.c
rtc-sh.c rtc: sh: assign correct interrupts with DT 2025-06-27 11:05:16 +01:00
rtc-snvs.c
rtc-spear.c
rtc-st-lpc.c rtc: st-lpc: Use IRQF_NO_AUTOEN flag in request_irq() 2024-12-14 19:51:19 +01:00
rtc-starfire.c
rtc-stk17ta8.c
rtc-stm32.c
rtc-stmp3xxx.c
rtc-sun4v.c
rtc-sun6i.c
rtc-sunxi.c
rtc-tegra.c
rtc-test.c
rtc-tps6586x.c
rtc-tps65910.c
rtc-tps80031.c
rtc-twl.c
rtc-v3020.c
rtc-vr41xx.c
rtc-vt8500.c
rtc-wilco-ec.c
rtc-wm831x.c
rtc-wm8350.c
rtc-x1205.c
rtc-xgene.c
rtc-zynqmp.c
sysfs.c