[PATCH 4/7] rtc: Fill in weekdays before setting time
Sascha Hauer
s.hauer at pengutronix.de
Mon Dec 14 03:43:28 PST 2015
Some rtcs store the weekday. Make sure it's filled in correctly before
passinf the time to the driver. This is easily done by converting it to
seconds-since-epoch and back to struct rtc_time.
Signed-off-by: Sascha Hauer <s.hauer at pengutronix.de>
---
drivers/rtc/class.c | 8 +++++++-
1 file changed, 7 insertions(+), 1 deletion(-)
diff --git a/drivers/rtc/class.c b/drivers/rtc/class.c
index e87f5f7..8b047a6 100644
--- a/drivers/rtc/class.c
+++ b/drivers/rtc/class.c
@@ -46,10 +46,16 @@ EXPORT_SYMBOL(rtc_read_time);
int rtc_set_time(struct rtc_device *rtc, struct rtc_time *tm)
{
+ struct rtc_time time;
+ unsigned long secs;
+
if (rtc_valid_tm(tm))
return -EINVAL;
- return rtc->ops->set_time(rtc, tm);
+ rtc_tm_to_time(tm, &secs);
+ rtc_time_to_tm(secs, &time);
+
+ return rtc->ops->set_time(rtc, &time);
}
EXPORT_SYMBOL(rtc_set_time);
--
2.6.2
More information about the barebox
mailing list