rtc: jz4740: switch to rtc_time64_to_tm/rtc_tm_to_time64
authorAlexandre Belloni <alexandre.belloni@bootlin.com>
Tue, 30 Apr 2019 09:28:16 +0000 (11:28 +0200)
committerAlexandre Belloni <alexandre.belloni@bootlin.com>
Tue, 30 Apr 2019 09:50:13 +0000 (11:50 +0200)
Call the 64bit versions of rtc_tm time conversion now that the range is
enforced by the core.

Tested-by: Mathieu Malaterre <malat@debian.org>
Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com>
drivers/rtc/rtc-jz4740.c

index 079469627bd76aa229eed1ae457773a55371442a..42837663987001b82a15fc8a812c847b754c6e01 100644 (file)
@@ -171,7 +171,7 @@ static int jz4740_rtc_read_time(struct device *dev, struct rtc_time *time)
        if (timeout == 0)
                return -EIO;
 
-       rtc_time_to_tm(secs, time);
+       rtc_time64_to_tm(secs, time);
 
        return 0;
 }
@@ -196,7 +196,7 @@ static int jz4740_rtc_read_alarm(struct device *dev, struct rtc_wkalrm *alrm)
        alrm->enabled = !!(ctrl & JZ_RTC_CTRL_AE);
        alrm->pending = !!(ctrl & JZ_RTC_CTRL_AF);
 
-       rtc_time_to_tm(secs, &alrm->time);
+       rtc_time64_to_tm(secs, &alrm->time);
 
        return rtc_valid_tm(&alrm->time);
 }
@@ -205,9 +205,7 @@ static int jz4740_rtc_set_alarm(struct device *dev, struct rtc_wkalrm *alrm)
 {
        int ret;
        struct jz4740_rtc *rtc = dev_get_drvdata(dev);
-       unsigned long secs;
-
-       rtc_tm_to_time(&alrm->time, &secs);
+       uint32_t secs = lower_32_bits(rtc_tm_to_time64(&alrm->time));
 
        ret = jz4740_rtc_reg_write(rtc, JZ_REG_RTC_SEC_ALARM, secs);
        if (!ret)