summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAlexandre Belloni <alexandre.belloni@bootlin.com>2018-05-17 22:53:27 +0200
committerAlexandre Belloni <alexandre.belloni@bootlin.com>2018-05-18 09:38:22 +0200
commitd7599245007a653fb5ff96d5ae067cb3204ff7fb (patch)
tree2904bd2eba75fd8cf8019c01d9a6ddc8d5f96a05
parent14dc3ec5203ced2000ef157f147944233309c850 (diff)
downloadlinux-d7599245007a653fb5ff96d5ae067cb3204ff7fb.tar.gz
linux-d7599245007a653fb5ff96d5ae067cb3204ff7fb.tar.bz2
linux-d7599245007a653fb5ff96d5ae067cb3204ff7fb.zip
rtc: ls1x: add range
While the year is encoded on 32 bits in SYS_TOYWRITE1i/SYS_TOYREAD1. The Loongson 1c datasheet states that the range is from 0 to 99. The current code exceeds this range and seems to be working, I deduce that the leap year algorithm will fail in 2100. Anyway, alarm registers only encode the year on 14 bits so with alarm support, the range will always be limited to 0 to 16383. Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com>
-rw-r--r--drivers/rtc/rtc-ls1x.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/drivers/rtc/rtc-ls1x.c b/drivers/rtc/rtc-ls1x.c
index 8aa3f223621c..f4c248655edd 100644
--- a/drivers/rtc/rtc-ls1x.c
+++ b/drivers/rtc/rtc-ls1x.c
@@ -177,6 +177,8 @@ static int ls1x_rtc_probe(struct platform_device *pdev)
platform_set_drvdata(pdev, rtcdev);
rtcdev->ops = &ls1x_rtc_ops;
+ rtcdev->range_min = RTC_TIMESTAMP_BEGIN_1900;
+ rtcdev->range_max = RTC_TIMESTAMP_END_2099;
return rtc_register_device(rtcdev);
}