rtc: explicitly set tm_sec = 0 for drivers with minute accurancy
authorUwe Kleine-König <uwe@kleine-koenig.org>
Mon, 11 Jul 2016 08:05:27 +0000 (10:05 +0200)
committerAlexandre Belloni <alexandre.belloni@free-electrons.com>
Tue, 19 Jul 2016 16:15:21 +0000 (18:15 +0200)
Since all time members of the alarm data is initialized to -1 the drivers
are responsible to set the tm_sec member to 0.

Fixes: d68778b80dd7 ("rtc: initialize output parameter for read alarm to "uninitialized"")
Signed-off-by: Uwe Kleine-König <uwe@kleine-koenig.org>
Signed-off-by: Alexandre Belloni <alexandre.belloni@free-electrons.com>
drivers/rtc/rtc-da9052.c
drivers/rtc/rtc-da9055.c
drivers/rtc/rtc-davinci.c
drivers/rtc/rtc-pcf8563.c
drivers/rtc/rtc-rc5t583.c

index a20bcf0e33cd10a1c0f43918c759f4d52856a07a..4273377562ec64dcdf640506fe4b4dd83b413de0 100644 (file)
@@ -85,6 +85,7 @@ static int da9052_read_alarm(struct da9052_rtc *rtc, struct rtc_time *rtc_tm)
                        rtc_tm->tm_mday = v[0][2] & DA9052_RTC_DAY;
                        rtc_tm->tm_hour = v[0][1] & DA9052_RTC_HOUR;
                        rtc_tm->tm_min  = v[0][0] & DA9052_RTC_MIN;
+                       rtc_tm->tm_sec = 0;
 
                        ret = rtc_valid_tm(rtc_tm);
                        return ret;
index 7ec0872d5e3b1bd3a585abb9e7a8aaad3aeafa2f..678af8648c45316f22ec7e4d124d1758436022d6 100644 (file)
@@ -74,6 +74,7 @@ static int da9055_read_alarm(struct da9055 *da9055, struct rtc_time *rtc_tm)
        rtc_tm->tm_mday = v[2] & DA9055_RTC_ALM_DAY;
        rtc_tm->tm_hour = v[1] & DA9055_RTC_ALM_HOUR;
        rtc_tm->tm_min  = v[0] & DA9055_RTC_ALM_MIN;
+       rtc_tm->tm_sec = 0;
 
        return rtc_valid_tm(rtc_tm);
 }
index c5432bf64e1c317324f009353ca7961e97e8fb63..dba60c1dfce2ee9f71fefc6b023a8eee799e63d2 100644 (file)
@@ -388,6 +388,8 @@ static int davinci_rtc_read_alarm(struct device *dev, struct rtc_wkalrm *alm)
        u8 day0, day1;
        unsigned long flags;
 
+       alm->time.tm_sec = 0;
+
        spin_lock_irqsave(&davinci_rtc_lock, flags);
 
        davinci_rtcss_calendar_wait(davinci_rtc);
index 26091a48925ffe22b8920a8c5b1da65dd0b12f29..1227ceab61eecc408526c6eb542477058a46417a 100644 (file)
@@ -341,6 +341,7 @@ static int pcf8563_rtc_read_alarm(struct device *dev, struct rtc_wkalrm *tm)
                "%s: raw data is min=%02x, hr=%02x, mday=%02x, wday=%02x\n",
                __func__, buf[0], buf[1], buf[2], buf[3]);
 
+       tm->time.tm_sec = 0;
        tm->time.tm_min = bcd2bin(buf[0] & 0x7F);
        tm->time.tm_hour = bcd2bin(buf[1] & 0x3F);
        tm->time.tm_mday = bcd2bin(buf[2] & 0x3F);
index f28d577889511550b641719d8a8f8dd2edc75d1e..68ce77414bdc6c671a9e1e631d7935b017c9cf39 100644 (file)
@@ -128,6 +128,7 @@ static int rc5t583_rtc_read_alarm(struct device *dev, struct rtc_wkalrm *alm)
                return ret;
        }
 
+       alm->time.tm_sec = 0;
        alm->time.tm_min = bcd2bin(alarm_data[0]);
        alm->time.tm_hour = bcd2bin(alarm_data[1]);
        alm->time.tm_mday = bcd2bin(alarm_data[2]);
This page took 0.03042 seconds and 5 git commands to generate.