diff mbox series

rtc: pcf85363: fix wrong mask/val parameters in regmap_update_bits call

Message ID 20231013-topic-pcf85363_regmap_update_bits-v1-1-c454f016f71f@gmail.com
State Accepted
Headers show
Series rtc: pcf85363: fix wrong mask/val parameters in regmap_update_bits call | expand

Commit Message

Javier Carrasco Oct. 13, 2023, 2:34 p.m. UTC
The current implementation passes PIN_IO_INTA_OUT (2) as a mask and
PIN_IO_INTAPM (GENMASK(1, 0)) as a value.
Swap the variables to assign mask and value the right way.

This error was first introduced with the alarm support. For better or
worse it worked as expected because 0x02 was applied as a mask to 0x03,
resulting 0x02 anyway. This will of course not work for any other value.

Fixes: e5aac267a10a ("rtc: pcf85363: add alarm support")
Signed-off-by: Javier Carrasco <javier.carrasco.cruz@gmail.com>
---
 drivers/rtc/rtc-pcf85363.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)


---
base-commit: 10a6e5feccb877c3c75ad11d27942ad52c24815f
change-id: 20231013-topic-pcf85363_regmap_update_bits-77b3877fa1fa

Best regards,

Comments

Alexandre Belloni Oct. 15, 2023, 9:02 p.m. UTC | #1
On Fri, 13 Oct 2023 16:34:21 +0200, Javier Carrasco wrote:
> The current implementation passes PIN_IO_INTA_OUT (2) as a mask and
> PIN_IO_INTAPM (GENMASK(1, 0)) as a value.
> Swap the variables to assign mask and value the right way.
> 
> This error was first introduced with the alarm support. For better or
> worse it worked as expected because 0x02 was applied as a mask to 0x03,
> resulting 0x02 anyway. This will of course not work for any other value.
> 
> [...]

Applied, thanks!

[1/1] rtc: pcf85363: fix wrong mask/val parameters in regmap_update_bits call
      commit: 2be36c09b6b07306be33519e1aa70d2e2a2161bb

Best regards,
diff mbox series

Patch

diff --git a/drivers/rtc/rtc-pcf85363.c b/drivers/rtc/rtc-pcf85363.c
index 06194674d71c..540042b9eec8 100644
--- a/drivers/rtc/rtc-pcf85363.c
+++ b/drivers/rtc/rtc-pcf85363.c
@@ -438,7 +438,7 @@  static int pcf85363_probe(struct i2c_client *client)
 	if (client->irq > 0 || wakeup_source) {
 		regmap_write(pcf85363->regmap, CTRL_FLAGS, 0);
 		regmap_update_bits(pcf85363->regmap, CTRL_PIN_IO,
-				   PIN_IO_INTA_OUT, PIN_IO_INTAPM);
+				   PIN_IO_INTAPM, PIN_IO_INTA_OUT);
 	}
 
 	if (client->irq > 0) {