From: Benoît Thébaudeau Date: Thu, 21 Jul 2016 10:41:32 +0000 (+0200) Subject: rtc: rv8803: Clear V1F when setting the time X-Git-Url: https://git.karo-electronics.de/?a=commitdiff_plain;h=6f367788d6333a41fefd013975b0b160d5c0a1c8;p=linux-beck.git rtc: rv8803: Clear V1F when setting the time V1F indicates that the time accuracy may have been compromised because of a voltage drop (possibly only temporary) below VLOW1, which stops the temperature compensation. When the time is set, the accuracy is restored, so V1F should be cleared in order to indicate this and to be able to detect the next temperature compensation loss. This is the same principle as for V2F, which is cleared when the time is set to indicate that the time is no longer invalid and to be able to detect the next data loss. Signed-off-by: Benoît Thébaudeau Signed-off-by: Alexandre Belloni --- diff --git a/drivers/rtc/rtc-rv8803.c b/drivers/rtc/rtc-rv8803.c index 24c688eec527..9a2f6a95d5a7 100644 --- a/drivers/rtc/rtc-rv8803.c +++ b/drivers/rtc/rtc-rv8803.c @@ -265,7 +265,7 @@ static int rv8803_set_time(struct device *dev, struct rtc_time *tm) } ret = rv8803_write_reg(rv8803->client, RV8803_FLAG, - flags & ~RV8803_FLAG_V2F); + flags & ~(RV8803_FLAG_V1F | RV8803_FLAG_V2F)); mutex_unlock(&rv8803->flags_lock);