diff mbox series

rtc: pcf8523: fix alarm interrupt disabling

Message ID 20211103152253.22844-1-vincent.whitchurch@axis.com
State Not Applicable
Headers show
Series rtc: pcf8523: fix alarm interrupt disabling | expand

Commit Message

Vincent Whitchurch Nov. 3, 2021, 3:22 p.m. UTC
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(-)

Comments

Alexandre Belloni Nov. 30, 2021, 11:19 p.m. UTC | #1
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
>
Vincent Whitchurch Dec. 1, 2021, 8:49 a.m. UTC | #2
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 mbox series

Patch

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;