mirror of
https://kernel.googlesource.com/pub/scm/linux/kernel/git/torvalds/linux
synced 2025-09-15 17:16:52 +10:00
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: Pavel Machek <pavel@denx.de> Closes: https://lore.kernel.org/all/ZN4BgzG2xmzOzdFZ@duo.ucw.cz/ Signed-off-by: Biju Das <biju.das.jz@bp.renesas.com> Reviewed-by: Pavel Machek <pavel@denx.de> Link: https://lore.kernel.org/r/20230817161038.407960-1-biju.das.jz@bp.renesas.com Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com>
This commit is contained in:
parent
45cc2a7de9
commit
f45d32d2cd
@ -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)
|
|||||||
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);
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user