aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--drivers/rtc/rtc-vr41xx.c9
1 files changed, 3 insertions, 6 deletions
diff --git a/drivers/rtc/rtc-vr41xx.c b/drivers/rtc/rtc-vr41xx.c
index 70f013e692b0..e66d0f63cee2 100644
--- a/drivers/rtc/rtc-vr41xx.c
+++ b/drivers/rtc/rtc-vr41xx.c
@@ -136,8 +136,7 @@ static int vr41xx_rtc_set_time(struct device *dev, struct rtc_time *time)
136 time64_t epoch_sec, current_sec; 136 time64_t epoch_sec, current_sec;
137 137
138 epoch_sec = mktime64(epoch, 1, 1, 0, 0, 0); 138 epoch_sec = mktime64(epoch, 1, 1, 0, 0, 0);
139 current_sec = mktime64(time->tm_year + 1900, time->tm_mon + 1, time->tm_mday, 139 current_sec = rtc_tm_to_time64(time);
140 time->tm_hour, time->tm_min, time->tm_sec);
141 140
142 write_elapsed_second(current_sec - epoch_sec); 141 write_elapsed_second(current_sec - epoch_sec);
143 142
@@ -158,7 +157,7 @@ static int vr41xx_rtc_read_alarm(struct device *dev, struct rtc_wkalrm *wkalrm)
158 157
159 spin_unlock_irq(&rtc_lock); 158 spin_unlock_irq(&rtc_lock);
160 159
161 rtc_time_to_tm((high << 17) | (mid << 1) | (low >> 15), time); 160 rtc_time64_to_tm((high << 17) | (mid << 1) | (low >> 15), time);
162 161
163 return 0; 162 return 0;
164} 163}
@@ -166,10 +165,8 @@ static int vr41xx_rtc_read_alarm(struct device *dev, struct rtc_wkalrm *wkalrm)
166static int vr41xx_rtc_set_alarm(struct device *dev, struct rtc_wkalrm *wkalrm) 165static int vr41xx_rtc_set_alarm(struct device *dev, struct rtc_wkalrm *wkalrm)
167{ 166{
168 time64_t alarm_sec; 167 time64_t alarm_sec;
169 struct rtc_time *time = &wkalrm->time;
170 168
171 alarm_sec = mktime64(time->tm_year + 1900, time->tm_mon + 1, time->tm_mday, 169 alarm_sec = rtc_tm_to_time64(&wkalrm->time);
172 time->tm_hour, time->tm_min, time->tm_sec);
173 170
174 spin_lock_irq(&rtc_lock); 171 spin_lock_irq(&rtc_lock);
175 172