mirror of https://gitee.com/openkylin/linux.git
rtc: explicitly set tm_sec = 0 for drivers with minute accurancy
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: d68778b80d
("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>
This commit is contained in:
parent
70c96dfac0
commit
d2c92705c5
|
@ -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;
|
||||
|
|
|
@ -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);
|
||||
}
|
||||
|
|
|
@ -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);
|
||||
|
|
|
@ -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);
|
||||
|
|
|
@ -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]);
|
||||
|
|
Loading…
Reference in New Issue