From d86da7e2bd6ae89360ff020565f9bf82712d688e Mon Sep 17 00:00:00 2001 From: Mark Tomlinson Date: Mon, 20 Jan 2025 14:59:40 +1300 Subject: [PATCH] drivers: rtc: max313xx: Fix setting years 2100-2199 An invalid calculation made setting years 2100-2199 impossible. Signed-off-by: Mark Tomlinson Cc: Chris Packham Reviewed-by: Chris Packham --- drivers/rtc/max313xx.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/rtc/max313xx.c b/drivers/rtc/max313xx.c index 60400235dd0..ccfd6b6d0e2 100644 --- a/drivers/rtc/max313xx.c +++ b/drivers/rtc/max313xx.c @@ -285,7 +285,7 @@ static int max313xx_set_time(struct udevice *dev, const struct rtc_time *t) regs[5] = bin2bcd(t->tm_mon); regs[6] = bin2bcd((t->tm_year - 2000) % 100); - if ((t->tm_year - 2000) >= 200) + if (t->tm_year >= 2100) regs[5] |= FIELD_PREP(MAX313XX_MONTH_CENTURY, 1); ret = dm_i2c_write(dev, rtc->chip->sec_reg, regs, 7); -- 2.39.5