[PATCH 1/2] drivers: rtc: max313xx: Fix setting years 2100-2199

Chris Packham Chris.Packham at alliedtelesis.co.nz
Tue Jan 21 03:38:16 CET 2025


Replying from my work email because gmail seems to be discarding messages

On 20/01/2025 14:59, Mark Tomlinson wrote:
> An invalid calculation made setting years 2100-2199 impossible.
>
> Signed-off-by: Mark Tomlinson <mark.tomlinson at alliedtelesis.co.nz>
> Cc: Chris Packham <judge.packham at gmail.com>
Reviewed-by: Chris Packham <judge.packham at gmail.com>
> ---
>   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);


More information about the U-Boot mailing list