Re: [PATCH v2 2/2] rtc: sprd: Add Spreadtrum RTC driver

From: Alexandre Belloni
Date: Wed Nov 08 2017 - 20:27:17 EST


Hi,

On 08/11/2017 at 17:16:15 +0800, Baolin Wang wrote:
> +static int sprd_rtc_read_time(struct device *dev, struct rtc_time *tm)
> +{
> + struct sprd_rtc *rtc = dev_get_drvdata(dev);
> + time64_t secs;
> + int ret;
> +

I would have expected a check for SPRD_RTC_POWER_RESET_FLAG here.


> + ret = sprd_rtc_get_secs(rtc, SPRD_RTC_TIME, &secs);
> + if (ret)
> + return ret;
> +
> + rtc_time64_to_tm(secs, tm);
> + return rtc_valid_tm(tm);
> +}
> +
> +static int sprd_rtc_set_time(struct device *dev, struct rtc_time *tm)
> +{
> + struct sprd_rtc *rtc = dev_get_drvdata(dev);
> + time64_t secs = rtc_tm_to_time64(tm);
> +

And you need to reset SPRD_RTC_POWER_RESET_FLAG here

> + return sprd_rtc_set_secs(rtc, SPRD_RTC_TIME, secs);
> +}
> +
--
Alexandre Belloni, Free Electrons
Embedded Linux and Kernel engineering
http://free-electrons.com