Commit f45d32d2 authored by Biju Das's avatar Biju Das Committed by Alexandre Belloni

rtc: isl1208: Fix incorrect logic in isl1208_set_xtoscb()

The XTOSCB bit is not bit 0, but xtosb_val is either 0 or 1. If it is 1,
test will never succeed. Fix this issue by using double negation.

While at it, remove unnecessary blank line from probe().
Reported-by: default avatarPavel Machek <pavel@denx.de>
Closes: https://lore.kernel.org/all/ZN4BgzG2xmzOzdFZ@duo.ucw.cz/Signed-off-by: default avatarBiju Das <biju.das.jz@bp.renesas.com>
Reviewed-by: default avatarPavel Machek <pavel@denx.de>
Link: https://lore.kernel.org/r/20230817161038.407960-1-biju.das.jz@bp.renesas.comSigned-off-by: default avatarAlexandre Belloni <alexandre.belloni@bootlin.com>
parent 45cc2a7d
...@@ -188,7 +188,7 @@ isl1208_i2c_validate_client(struct i2c_client *client) ...@@ -188,7 +188,7 @@ isl1208_i2c_validate_client(struct i2c_client *client)
static int isl1208_set_xtoscb(struct i2c_client *client, int sr, int xtosb_val) static int isl1208_set_xtoscb(struct i2c_client *client, int sr, int xtosb_val)
{ {
/* Do nothing if bit is already set to desired value */ /* Do nothing if bit is already set to desired value */
if ((sr & ISL1208_REG_SR_XTOSCB) == xtosb_val) if (!!(sr & ISL1208_REG_SR_XTOSCB) == xtosb_val)
return 0; return 0;
if (xtosb_val) if (xtosb_val)
...@@ -944,7 +944,6 @@ isl1208_probe(struct i2c_client *client) ...@@ -944,7 +944,6 @@ isl1208_probe(struct i2c_client *client)
rc = isl1208_setup_irq(client, client->irq); rc = isl1208_setup_irq(client, client->irq);
if (rc) if (rc)
return rc; return rc;
} else { } else {
clear_bit(RTC_FEATURE_UPDATE_INTERRUPT, isl1208->rtc->features); clear_bit(RTC_FEATURE_UPDATE_INTERRUPT, isl1208->rtc->features);
} }
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment