Commit 394c051d authored by Ilya Ledvich's avatar Ilya Ledvich Committed by Alexandre Belloni
Browse files

rtc: em3027: correct month value



The RTC month value is 1-indexed, but the kernel assumes it is 0-indexed.
This may result in the RTC not rolling over correctly.

Signed-off-by: default avatarIlya Ledvich <ilya@compulab.co.il>
Reviewed-by: default avatarNobuhiro Iwamatsu <iwamatsu@nigauri.org>
Link: https://lore.kernel.org/r/20191101095422.14787-1-ilya@compulab.co.il


Signed-off-by: default avatarAlexandre Belloni <alexandre.belloni@bootlin.com>
parent 94303f89
Loading
Loading
Loading
Loading
+2 −2
Original line number Diff line number Diff line
@@ -71,7 +71,7 @@ static int em3027_get_time(struct device *dev, struct rtc_time *tm)
	tm->tm_hour	= bcd2bin(buf[2]);
	tm->tm_mday	= bcd2bin(buf[3]);
	tm->tm_wday	= bcd2bin(buf[4]);
	tm->tm_mon	= bcd2bin(buf[5]);
	tm->tm_mon	= bcd2bin(buf[5]) - 1;
	tm->tm_year	= bcd2bin(buf[6]) + 100;

	return 0;
@@ -94,7 +94,7 @@ static int em3027_set_time(struct device *dev, struct rtc_time *tm)
	buf[3] = bin2bcd(tm->tm_hour);
	buf[4] = bin2bcd(tm->tm_mday);
	buf[5] = bin2bcd(tm->tm_wday);
	buf[6] = bin2bcd(tm->tm_mon);
	buf[6] = bin2bcd(tm->tm_mon + 1);
	buf[7] = bin2bcd(tm->tm_year % 100);

	/* write time/date registers */