]> git.ipfire.org Git - thirdparty/u-boot.git/commitdiff
drivers: rtc: max313xx: Fix setting years 2100-2199
authorMark Tomlinson <mark.tomlinson@alliedtelesis.co.nz>
Mon, 20 Jan 2025 01:59:40 +0000 (14:59 +1300)
committerTom Rini <trini@konsulko.com>
Sun, 26 Jan 2025 17:33:13 +0000 (11:33 -0600)
An invalid calculation made setting years 2100-2199 impossible.

Signed-off-by: Mark Tomlinson <mark.tomlinson@alliedtelesis.co.nz>
Cc: Chris Packham <judge.packham@gmail.com>
Reviewed-by: Chris Packham <judge.packham@gmail.com>
drivers/rtc/max313xx.c

index 60400235dd0ffc39aea45e2208ba50868857d949..ccfd6b6d0e20d1251b06f861b97dd3b283158346 100644 (file)
@@ -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);