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