From: Alexandre Belloni Date: Mon, 4 Mar 2019 10:19:02 +0000 (+0100) Subject: rtc: pic32: let the core handle range X-Git-Tag: v5.4-rc1~1470^2~1 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=c145e5f4a4b76971d42098775a2443bdd4884de4;p=platform%2Fkernel%2Flinux-rpi.git rtc: pic32: let the core handle range Let the core handle the RTC range instead of open coding it. Signed-off-by: Alexandre Belloni --- diff --git a/drivers/rtc/rtc-pic32.c b/drivers/rtc/rtc-pic32.c index 43bd701..7824acc 100644 --- a/drivers/rtc/rtc-pic32.c +++ b/drivers/rtc/rtc-pic32.c @@ -180,22 +180,16 @@ static int pic32_rtc_settime(struct device *dev, struct rtc_time *tm) { struct pic32_rtc_dev *pdata = dev_get_drvdata(dev); void __iomem *base = pdata->reg_base; - int year = tm->tm_year - 100; dev_dbg(dev, "set time %ptR\n", tm); - if (year < 0 || year >= 100) { - dev_err(dev, "rtc only supports 100 years\n"); - return -EINVAL; - } - clk_enable(pdata->clk); writeb(bin2bcd(tm->tm_sec), base + PIC32_RTCSEC); writeb(bin2bcd(tm->tm_min), base + PIC32_RTCMIN); writeb(bin2bcd(tm->tm_hour), base + PIC32_RTCHOUR); writeb(bin2bcd(tm->tm_mday), base + PIC32_RTCDAY); writeb(bin2bcd(tm->tm_mon + 1), base + PIC32_RTCMON); - writeb(bin2bcd(year), base + PIC32_RTCYEAR); + writeb(bin2bcd(tm->tm_year - 100), base + PIC32_RTCYEAR); clk_disable(pdata->clk); return 0; @@ -353,6 +347,8 @@ static int pic32_rtc_probe(struct platform_device *pdev) return PTR_ERR(pdata->rtc); pdata->rtc->ops = &pic32_rtcops; + pdata->rtc->range_min = RTC_TIMESTAMP_BEGIN_2000; + pdata->rtc->range_max = RTC_TIMESTAMP_END_2099; ret = rtc_register_device(pdata->rtc); if (ret)