summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAlexandre Belloni <alexandre.belloni@bootlin.com>2018-05-17 16:18:59 -0400
committerAlexandre Belloni <alexandre.belloni@bootlin.com>2018-05-17 16:23:20 -0400
commit39ba69427a1541c9d599cfbe39366c0c7594340d (patch)
tree1514c18928c93c00259d2f6f5b765779a5f6eb65
parent661eb89a11c5f39249d8d0d50b4e538ef7bdd9d6 (diff)
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>
-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)
132 struct pm80x_rtc_info *info = dev_get_drvdata(dev); 132 struct pm80x_rtc_info *info = dev_get_drvdata(dev);
133 unsigned char buf[4]; 133 unsigned char buf[4];
134 unsigned long ticks, base, data; 134 unsigned long ticks, base, data;
135 if (tm->tm_year > 206) { 135
136 dev_dbg(info->dev,
137 "Set time %d out of range. Please set time between 1970 to 2106.\n",
138 1900 + tm->tm_year);
139 return -EINVAL;
140 }
141 rtc_tm_to_time(tm, &ticks); 136 rtc_tm_to_time(tm, &ticks);
142 137
143 /* load 32-bit read-only counter */ 138 /* load 32-bit read-only counter */
@@ -303,6 +298,7 @@ static int pm80x_rtc_probe(struct platform_device *pdev)
303 } 298 }
304 299
305 info->rtc_dev->ops = &pm80x_rtc_ops; 300 info->rtc_dev->ops = &pm80x_rtc_ops;
301 info->rtc_dev->range_max = U32_MAX;
306 302
307 ret = rtc_register_device(info->rtc_dev); 303 ret = rtc_register_device(info->rtc_dev);
308 if (ret) { 304 if (ret) {