Message ID | 20211103152253.22844-1-vincent.whitchurch@axis.com |
---|---|
State | Not Applicable |
Headers | show |
Series | rtc: pcf8523: fix alarm interrupt disabling | expand |
Hello, On 03/11/2021 16:22:52+0100, Vincent Whitchurch wrote: > Fix the driver to actually disable the IRQ and not overwrite other bits > in the CONTROL_1 register when it is asked to disable the alarm > interrupt. > > Compile-tested only. > > Fixes: 13e37b7fb75dfaeb4 ("rtc: pcf8523: add alarm support") > Signed-off-by: Vincent Whitchurch <vincent.whitchurch@axis.com> > --- > drivers/rtc/rtc-pcf8523.c | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/drivers/rtc/rtc-pcf8523.c b/drivers/rtc/rtc-pcf8523.c > index 8b6fb20774bf..e26477267451 100644 > --- a/drivers/rtc/rtc-pcf8523.c > +++ b/drivers/rtc/rtc-pcf8523.c > @@ -347,7 +347,7 @@ static int pcf8523_irq_enable(struct device *dev, unsigned int enabled) > if (err < 0) > return err; > > - value &= PCF8523_CONTROL1_AIE; > + value &= ~PCF8523_CONTROL1_AIE; > I was going to apply that but it seems this was fixed by: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit?id=91f3849d956d58073ef55e01f2e8871dc30847a5 > if (enabled) > value |= PCF8523_CONTROL1_AIE; > -- > 2.28.0 >
On Wed, Dec 01, 2021 at 12:19:12AM +0100, Alexandre Belloni wrote: > On 03/11/2021 16:22:52+0100, Vincent Whitchurch wrote: > > Fix the driver to actually disable the IRQ and not overwrite other bits > > in the CONTROL_1 register when it is asked to disable the alarm > > interrupt. > > > > Compile-tested only. > > > > Fixes: 13e37b7fb75dfaeb4 ("rtc: pcf8523: add alarm support") > > Signed-off-by: Vincent Whitchurch <vincent.whitchurch@axis.com> > > --- > > drivers/rtc/rtc-pcf8523.c | 2 +- > > 1 file changed, 1 insertion(+), 1 deletion(-) > > > > diff --git a/drivers/rtc/rtc-pcf8523.c b/drivers/rtc/rtc-pcf8523.c > > index 8b6fb20774bf..e26477267451 100644 > > --- a/drivers/rtc/rtc-pcf8523.c > > +++ b/drivers/rtc/rtc-pcf8523.c > > @@ -347,7 +347,7 @@ static int pcf8523_irq_enable(struct device *dev, unsigned int enabled) > > if (err < 0) > > return err; > > > > - value &= PCF8523_CONTROL1_AIE; > > + value &= ~PCF8523_CONTROL1_AIE; > > > > I was going to apply that but it seems this was fixed by: > https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit?id=91f3849d956d58073ef55e01f2e8871dc30847a5 Yes, you're right, sorry. I had only checked mainline at the time I wrote the patch and not what was queued up in linux-next.
diff --git a/drivers/rtc/rtc-pcf8523.c b/drivers/rtc/rtc-pcf8523.c index 8b6fb20774bf..e26477267451 100644 --- a/drivers/rtc/rtc-pcf8523.c +++ b/drivers/rtc/rtc-pcf8523.c @@ -347,7 +347,7 @@ static int pcf8523_irq_enable(struct device *dev, unsigned int enabled) if (err < 0) return err; - value &= PCF8523_CONTROL1_AIE; + value &= ~PCF8523_CONTROL1_AIE; if (enabled) value |= PCF8523_CONTROL1_AIE;
Fix the driver to actually disable the IRQ and not overwrite other bits in the CONTROL_1 register when it is asked to disable the alarm interrupt. Compile-tested only. Fixes: 13e37b7fb75dfaeb4 ("rtc: pcf8523: add alarm support") Signed-off-by: Vincent Whitchurch <vincent.whitchurch@axis.com> --- drivers/rtc/rtc-pcf8523.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)