diff options
author | Alexandre Belloni <alexandre.belloni@bootlin.com> | 2019-03-03 22:38:34 +0100 |
---|---|---|
committer | Alexandre Belloni <alexandre.belloni@bootlin.com> | 2019-03-03 22:38:34 +0100 |
commit | 3199fc3d7417282f60387086d26c60d3b32bc4dc (patch) | |
tree | a3a753fe7c6635038385e33b6038ef001da04d83 /drivers/rtc | |
parent | rtc: zynqmp: fix possible race condition (diff) | |
download | linux-3199fc3d7417282f60387086d26c60d3b32bc4dc.tar.xz linux-3199fc3d7417282f60387086d26c60d3b32bc4dc.zip |
rtc: zynqmp: let the core handle range
Let the core handle the RTC range instead of open coding it.
Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com>
Diffstat (limited to 'drivers/rtc')
-rw-r--r-- | drivers/rtc/rtc-zynqmp.c | 8 |
1 files changed, 1 insertions, 7 deletions
diff --git a/drivers/rtc/rtc-zynqmp.c b/drivers/rtc/rtc-zynqmp.c index f0dd20785b54..bb950945ec7f 100644 --- a/drivers/rtc/rtc-zynqmp.c +++ b/drivers/rtc/rtc-zynqmp.c @@ -49,7 +49,6 @@ #define RTC_CALIB_DEF 0x198233 #define RTC_CALIB_MASK 0x1FFFFF -#define RTC_SEC_MAX_VAL 0xFFFFFFFF struct xlnx_rtc_dev { struct rtc_device *rtc; @@ -71,9 +70,6 @@ static int xlnx_rtc_set_time(struct device *dev, struct rtc_time *tm) */ new_time = rtc_tm_to_time64(tm) + 1; - if (new_time > RTC_SEC_MAX_VAL) - return -EINVAL; - /* * Writing into calibration register will clear the Tick Counter and * force the next second to be signaled exactly in 1 second period @@ -154,9 +150,6 @@ static int xlnx_rtc_set_alarm(struct device *dev, struct rtc_wkalrm *alrm) alarm_time = rtc_tm_to_time64(&alrm->time); - if (alarm_time > RTC_SEC_MAX_VAL) - return -EINVAL; - writel((u32)alarm_time, (xrtcdev->reg_base + RTC_ALRM)); xlnx_rtc_alarm_irq_enable(dev, alrm->enabled); @@ -227,6 +220,7 @@ static int xlnx_rtc_probe(struct platform_device *pdev) return PTR_ERR(xrtcdev->rtc); xrtcdev->rtc->ops = &xlnx_rtc_ops; + xrtcdev->rtc->range_max = U32_MAX; res = platform_get_resource(pdev, IORESOURCE_MEM, 0); |