Hi Benjamin,

On Wed, 12 Jul 2017, Benjamin Gaignard wrote:

> @@ -93,12 +93,12 @@ static int ftrtc010_rtc_set_time(struct device *dev, 
> struct rtc_time *tm)
>  {
>       struct ftrtc010_rtc *rtc = dev_get_drvdata(dev);
>       unsigned int sec, min, hour, day;
> -     unsigned long offset, time;
> +     unsigned long long offset, time;
>  
>       if (tm->tm_year >= 2148)        /* EPOCH Year + 179 */
>               return -EINVAL;
>  
> -     rtc_tm_to_time(tm, &time);
> +     time = rtc_tm_to_time64(tm);
>  
>       sec = readl(rtc->rtc_base + FTRTC010_RTC_SECOND);
>       min = readl(rtc->rtc_base + FTRTC010_RTC_MINUTE);

later on this will do

        writel(offset, rtc->rtc_base + FTRTC010_RTC_RECORD);

you are writing some 64bit value in a 32bit register ...

NACK here

Greetings from Cologne
Hans Ulli Kroll

> 1.9.1
> 
> 

Reply via email to