projects
/
platform
/
kernel
/
linux-starfive.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
| inline |
side by side
(parent:
94303f8
)
rtc: em3027: correct month value
author
Ilya Ledvich
<ilya@compulab.co.il>
Fri, 1 Nov 2019 09:54:22 +0000
(11:54 +0200)
committer
Alexandre Belloni
<alexandre.belloni@bootlin.com>
Fri, 8 Nov 2019 15:14:09 +0000
(16:14 +0100)
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: Ilya Ledvich <ilya@compulab.co.il>
Reviewed-by: Nobuhiro Iwamatsu <iwamatsu@nigauri.org>
Link:
https://lore.kernel.org/r/20191101095422.14787-1-ilya@compulab.co.il
Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com>
drivers/rtc/rtc-em3027.c
patch
|
blob
|
history
diff --git
a/drivers/rtc/rtc-em3027.c
b/drivers/rtc/rtc-em3027.c
index 77cca13922536cb41461c9446156c0613a724ccd..9f176bce48baf1895471499e134dea3f9d9992a8 100644
(file)
--- a/
drivers/rtc/rtc-em3027.c
+++ b/
drivers/rtc/rtc-em3027.c
@@
-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 */