[PATCH v3 1/2] rtc: rtc-pm8xxx: clear the interrupt in probe

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



If the alarm is triggered before the driver gets probed, the alarm
interrupt will be missed and it won't be detected, so clear the
stale interrupt in probe.

Changes in v3:
*clear the interrupt in driver probe

Changes in v2:
*Adapt the V1 patch according to the newest rtc-pm8xxx
link to v2: https://lore.kernel.org/linux-rtc/20240124024023df15ef6e@mail.local/

Changes in v1:
*During driver probe: read ALARM_EN, read ALARM_DATA, read RTC_RDATA,
if (ALARM_DATA < RTC_DATA), Trigger the alarm event and clear the alarm settins
Link to v1:https://lore.kernel.org/linux-rtc/20220321090514.4523-1-quic_jianbinz@xxxxxxxxxxx/

Changes in original:
link to original: https://lore.kernel.org/linux-rtc/YTusgJlMUdXOKQaL@xxxxxxxxx/

Signed-off-by: jianbinz <quic_jianbinz@xxxxxxxxxxx>
---
 drivers/rtc/rtc-pm8xxx.c | 4 ++++
 1 file changed, 4 insertions(+)

diff --git a/drivers/rtc/rtc-pm8xxx.c b/drivers/rtc/rtc-pm8xxx.c
index f6b779c12ca7..1b5a96924e57 100644
--- a/drivers/rtc/rtc-pm8xxx.c
+++ b/drivers/rtc/rtc-pm8xxx.c
@@ -527,6 +527,10 @@ static int pm8xxx_rtc_probe(struct platform_device *pdev)
 	if (rc)
 		return rc;
 
+	rc = regmap_update_bits(rtc_dd->regmap, rtc_dd->regs->alarm_ctrl2, PM8xxx_RTC_ALARM_CLEAR, 1);
+	if (rc)
+		return rc;
+
 	return 0;
 }
 
-- 
2.17.1





[Index of Archives]     [Linux Sound]     [ALSA Users]     [ALSA Devel]     [Linux Audio Users]     [Linux Media]     [Kernel]     [Gimp]     [Yosemite News]     [Linux Media]

  Powered by Linux