From 429c4f34ee61bead0df8801783ec0777383a78e1 Mon Sep 17 00:00:00 2001 From: Prem J <137923007+ptonystark@users.noreply.github.com> Date: Tue, 25 Jun 2024 10:38:26 +0530 Subject: [PATCH] Update rtc-pcf85063.c - RTC OC bit fix Setting the OC bit to zero initially to clear the old status set --- drivers/rtc/rtc-pcf85063.c | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/drivers/rtc/rtc-pcf85063.c b/drivers/rtc/rtc-pcf85063.c index fdbc07f14036a..8da2e4e097f7e 100644 --- a/drivers/rtc/rtc-pcf85063.c +++ b/drivers/rtc/rtc-pcf85063.c @@ -585,7 +585,15 @@ static int pcf85063_probe(struct i2c_client *client) dev_err(&client->dev, "RTC chip is not present\n"); return err; } + ret = regmap_read(pcf85063->regmap, PCF85063_REG_SC, &tmp); + if (ret < 0) + return ret; + // cleat the OS Bit if it is set + if ((tmp & (1 << (8 - 1)))) { + tmp = tmp & (~(1 << (8 - 1))); + regmap_write(pcf85063->regmap, PCF85063_REG_SC, tmp); + } pcf85063->rtc = devm_rtc_allocate_device(&client->dev); if (IS_ERR(pcf85063->rtc)) return PTR_ERR(pcf85063->rtc);