aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/rtc/rtc-88pm80x.c
diff options
context:
space:
mode:
authorAlexandre Belloni <alexandre.belloni@bootlin.com>2018-05-17 22:18:59 +0200
committerAlexandre Belloni <alexandre.belloni@bootlin.com>2018-05-17 22:23:20 +0200
commit39ba69427a1541c9d599cfbe39366c0c7594340d (patch)
tree1514c18928c93c00259d2f6f5b765779a5f6eb65 /drivers/rtc/rtc-88pm80x.c
parentrtc: 88pm80x: fix possible race condition (diff)
downloadlinux-dev-39ba69427a1541c9d599cfbe39366c0c7594340d.tar.xz
linux-dev-39ba69427a1541c9d599cfbe39366c0c7594340d.zip
rtc: 88pm80x: let the core handle the RTC range
The 88pm80x RTC is storing the time as a 32bit offset from a 32bit counter so it can handle dates from 0 to U32_MAX. Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com>
Diffstat (limited to 'drivers/rtc/rtc-88pm80x.c')
-rw-r--r--drivers/rtc/rtc-88pm80x.c8
1 files changed, 2 insertions, 6 deletions
diff --git a/drivers/rtc/rtc-88pm80x.c b/drivers/rtc/rtc-88pm80x.c
index dae527f8c58e..33b28b6117e9 100644
--- a/drivers/rtc/rtc-88pm80x.c
+++ b/drivers/rtc/rtc-88pm80x.c
@@ -132,12 +132,7 @@ static int pm80x_rtc_set_time(struct device *dev, struct rtc_time *tm)
struct pm80x_rtc_info *info = dev_get_drvdata(dev);
unsigned char buf[4];
unsigned long ticks, base, data;
- if (tm->tm_year > 206) {
- dev_dbg(info->dev,
- "Set time %d out of range. Please set time between 1970 to 2106.\n",
- 1900 + tm->tm_year);
- return -EINVAL;
- }
+
rtc_tm_to_time(tm, &ticks);
/* load 32-bit read-only counter */
@@ -303,6 +298,7 @@ static int pm80x_rtc_probe(struct platform_device *pdev)
}
info->rtc_dev->ops = &pm80x_rtc_ops;
+ info->rtc_dev->range_max = U32_MAX;
ret = rtc_register_device(info->rtc_dev);
if (ret) {