Re: [PATCH] rtc: em3027: correct month value

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi,

On 10/31/19 12:27 PM, Alexandre Belloni wrote:
On 31/10/2019 18:53:00+0900, Nobuhiro Iwamatsu wrote:
Hi,

2019年10月31日(木) 16:57 Ilya Ledvich <ilya@xxxxxxxxxxxxxx>:
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@xxxxxxxxxxxxxx>
---
  drivers/rtc/rtc-em3027.c | 4 ++--
  1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/drivers/rtc/rtc-em3027.c b/drivers/rtc/rtc-em3027.c
index 77cca1392253..ef3792543f93 100644
--- 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;
I think '+'1 should be set in bin2bcd().

This is correct.
Thank you for the note. I'll fix it and send v2.

Ilya, could you also run
https://git.kernel.org/pub/scm/linux/kernel/git/abelloni/rtc-tools.git/tree/rtc-range.c
on that rtc? I'm interested in the full output. It seems this RTC
working range is 2000 to 2079

According to the data sheet its range is 2000 to 2079 indeed.

Please find the full output below.

Testing 2000-02-28 23:59:59.
OK

Testing 2038-01-19 03:14:07.
OK

Testing 2069-12-31 23:59:59.
OK

Testing 2099-12-31 23:59:59.
KO  Read back 2019-12-31 23:59:59.

Testing 2100-02-28 23:59:59.
KO  Read back 2000-02-28 23:59:59.

Testing 2106-02-07 06:28:15.
KO  Read back 2006-02-07 06:28:15.

Testing 2262-04-11 23:47:16.
KO  Read back 2062-04-11 23:47:16.


Kind regards,

Ilya





[Index of Archives]     [Linux Sound]     [ALSA Users]     [ALSA Devel]     [Linux Audio Users]     [Linux Media]     [Kernel]     [Gimp]     [Yosemite News]     [Linux Media]

  Powered by Linux