Message ID | 20240401-fix-rtc-alarm-which-fired-before-driver-probe-not-be-cleard-v1-2-aab2cd6ddab8@quicinc.com |
---|---|
State | New |
Headers | show |
Series | None | expand |
On 4/5/24 10:47, Bjorn Andersson wrote: > On Mon, Apr 01, 2024 at 09:56:30AM +0800, jianbin zhang wrote: >> Writing 1 to the PM8xxx_RTC_ALARM_CLEAR register is expected to clear >> the triggered alarm status. In patch v2, the value written to the > I'm not sure what "in patch v2" refers to here. Thanks for reviewing, "In patch v2" refers to https://lore.kernel.org/lkml/20230202155448.6715-4-johan+linaro@kernel.org/ which siwtch to use regmap_update_bits. > Also, as with patch 1, please fix your subject line and use internal > review list. > > Regards, > Bjorn Sure, Will fix the subject line and use internal review list in next patch version. >> PM8xxx_RTC_ALARM_CLEAR register in the trigger function is incorrectly >> written as 0. So correct the value written to PM8xxx_RTC_ALARM_CLEAR >> register into 1. >> >> Signed-off-by: jianbin zhang <quic_jianbinz@quicinc.com> >> --- >> Changess in v4: >> - add the cover letter >> - modify the patch to conform to the specification >> >> Changes in v3: >> - Correct the value written into the PM8xxx_RTC_ALARM_CLEAR to 1. >> - link: https://lore.kernel.org/linux-rtc/20240319191216.GB3796206@hu-bjorande-lv.qualcomm.com/T/#t >> >> Changes in v2: >> - Switch to using regmap_update_bits() instead of open coding >> read-modify-write accesses. >> - link: https://lore.kernel.org/lkml/20230202155448.6715-4-johan+linaro@kernel.org/ >> >> Changes in v1: >> -link: https://lore.kernel.org/linux-rtc/20230126142057.25715-4-johan+linaro@kernel.org/ >> --- >> drivers/rtc/rtc-pm8xxx.c | 2 +- >> 1 file changed, 1 insertion(+), 1 deletion(-) >> >> diff --git a/drivers/rtc/rtc-pm8xxx.c b/drivers/rtc/rtc-pm8xxx.c >> index e4e2307445cf..806c99cdac9a 100644 >> --- a/drivers/rtc/rtc-pm8xxx.c >> +++ b/drivers/rtc/rtc-pm8xxx.c >> @@ -391,7 +391,7 @@ static irqreturn_t pm8xxx_alarm_trigger(int irq, void *dev_id) >> >> /* Clear alarm status */ >> rc = regmap_update_bits(rtc_dd->regmap, regs->alarm_ctrl2, >> - PM8xxx_RTC_ALARM_CLEAR, 0); >> + PM8xxx_RTC_ALARM_CLEAR, 1); >> if (rc) >> return IRQ_NONE; >> >> >> -- >> 2.43.2 >>
diff --git a/drivers/rtc/rtc-pm8xxx.c b/drivers/rtc/rtc-pm8xxx.c index e4e2307445cf..806c99cdac9a 100644 --- a/drivers/rtc/rtc-pm8xxx.c +++ b/drivers/rtc/rtc-pm8xxx.c @@ -391,7 +391,7 @@ static irqreturn_t pm8xxx_alarm_trigger(int irq, void *dev_id) /* Clear alarm status */ rc = regmap_update_bits(rtc_dd->regmap, regs->alarm_ctrl2, - PM8xxx_RTC_ALARM_CLEAR, 0); + PM8xxx_RTC_ALARM_CLEAR, 1); if (rc) return IRQ_NONE;
Writing 1 to the PM8xxx_RTC_ALARM_CLEAR register is expected to clear the triggered alarm status. In patch v2, the value written to the PM8xxx_RTC_ALARM_CLEAR register in the trigger function is incorrectly written as 0. So correct the value written to PM8xxx_RTC_ALARM_CLEAR register into 1. Signed-off-by: jianbin zhang <quic_jianbinz@quicinc.com> --- Changess in v4: - add the cover letter - modify the patch to conform to the specification Changes in v3: - Correct the value written into the PM8xxx_RTC_ALARM_CLEAR to 1. - link: https://lore.kernel.org/linux-rtc/20240319191216.GB3796206@hu-bjorande-lv.qualcomm.com/T/#t Changes in v2: - Switch to using regmap_update_bits() instead of open coding read-modify-write accesses. - link: https://lore.kernel.org/lkml/20230202155448.6715-4-johan+linaro@kernel.org/ Changes in v1: -link: https://lore.kernel.org/linux-rtc/20230126142057.25715-4-johan+linaro@kernel.org/ --- drivers/rtc/rtc-pm8xxx.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)