Lines Matching refs:tm

257 static int tm2bcd(struct rtc_time *tm)  in tm2bcd()  argument
259 if (rtc_valid_tm(tm) != 0) in tm2bcd()
262 tm->tm_sec = bin2bcd(tm->tm_sec); in tm2bcd()
263 tm->tm_min = bin2bcd(tm->tm_min); in tm2bcd()
264 tm->tm_hour = bin2bcd(tm->tm_hour); in tm2bcd()
265 tm->tm_mday = bin2bcd(tm->tm_mday); in tm2bcd()
267 tm->tm_mon = bin2bcd(tm->tm_mon + 1); in tm2bcd()
270 if (tm->tm_year < 100 || tm->tm_year > 199) in tm2bcd()
272 tm->tm_year = bin2bcd(tm->tm_year - 100); in tm2bcd()
277 static void bcd2tm(struct rtc_time *tm) in bcd2tm() argument
279 tm->tm_sec = bcd2bin(tm->tm_sec); in bcd2tm()
280 tm->tm_min = bcd2bin(tm->tm_min); in bcd2tm()
281 tm->tm_hour = bcd2bin(tm->tm_hour); in bcd2tm()
282 tm->tm_mday = bcd2bin(tm->tm_mday); in bcd2tm()
283 tm->tm_mon = bcd2bin(tm->tm_mon) - 1; in bcd2tm()
285 tm->tm_year = bcd2bin(tm->tm_year) + 100; in bcd2tm()
288 static void omap_rtc_read_time_raw(struct omap_rtc *rtc, struct rtc_time *tm) in omap_rtc_read_time_raw() argument
290 tm->tm_sec = rtc_read(rtc, OMAP_RTC_SECONDS_REG); in omap_rtc_read_time_raw()
291 tm->tm_min = rtc_read(rtc, OMAP_RTC_MINUTES_REG); in omap_rtc_read_time_raw()
292 tm->tm_hour = rtc_read(rtc, OMAP_RTC_HOURS_REG); in omap_rtc_read_time_raw()
293 tm->tm_mday = rtc_read(rtc, OMAP_RTC_DAYS_REG); in omap_rtc_read_time_raw()
294 tm->tm_mon = rtc_read(rtc, OMAP_RTC_MONTHS_REG); in omap_rtc_read_time_raw()
295 tm->tm_year = rtc_read(rtc, OMAP_RTC_YEARS_REG); in omap_rtc_read_time_raw()
298 static int omap_rtc_read_time(struct device *dev, struct rtc_time *tm) in omap_rtc_read_time() argument
305 omap_rtc_read_time_raw(rtc, tm); in omap_rtc_read_time()
308 bcd2tm(tm); in omap_rtc_read_time()
313 static int omap_rtc_set_time(struct device *dev, struct rtc_time *tm) in omap_rtc_set_time() argument
317 if (tm2bcd(tm) < 0) in omap_rtc_set_time()
324 rtc_write(rtc, OMAP_RTC_YEARS_REG, tm->tm_year); in omap_rtc_set_time()
325 rtc_write(rtc, OMAP_RTC_MONTHS_REG, tm->tm_mon); in omap_rtc_set_time()
326 rtc_write(rtc, OMAP_RTC_DAYS_REG, tm->tm_mday); in omap_rtc_set_time()
327 rtc_write(rtc, OMAP_RTC_HOURS_REG, tm->tm_hour); in omap_rtc_set_time()
328 rtc_write(rtc, OMAP_RTC_MINUTES_REG, tm->tm_min); in omap_rtc_set_time()
329 rtc_write(rtc, OMAP_RTC_SECONDS_REG, tm->tm_sec); in omap_rtc_set_time()
421 struct rtc_time tm; in omap_rtc_power_off() local
431 omap_rtc_read_time_raw(rtc, &tm); in omap_rtc_power_off()
432 bcd2tm(&tm); in omap_rtc_power_off()
433 rtc_tm_to_time(&tm, &now); in omap_rtc_power_off()
434 rtc_time_to_tm(now + 2, &tm); in omap_rtc_power_off()
436 if (tm2bcd(&tm) < 0) { in omap_rtc_power_off()
443 rtc_write(rtc, OMAP_RTC_ALARM2_SECONDS_REG, tm.tm_sec); in omap_rtc_power_off()
444 rtc_write(rtc, OMAP_RTC_ALARM2_MINUTES_REG, tm.tm_min); in omap_rtc_power_off()
445 rtc_write(rtc, OMAP_RTC_ALARM2_HOURS_REG, tm.tm_hour); in omap_rtc_power_off()
446 rtc_write(rtc, OMAP_RTC_ALARM2_DAYS_REG, tm.tm_mday); in omap_rtc_power_off()
447 rtc_write(rtc, OMAP_RTC_ALARM2_MONTHS_REG, tm.tm_mon); in omap_rtc_power_off()
448 rtc_write(rtc, OMAP_RTC_ALARM2_YEARS_REG, tm.tm_year); in omap_rtc_power_off()