Lines Matching refs:dt
191 static int rx8025_get_time(struct device *dev, struct rtc_time *dt) in rx8025_get_time() argument
206 dt->tm_sec = bcd2bin(date[RX8025_REG_SEC] & 0x7f); in rx8025_get_time()
207 dt->tm_min = bcd2bin(date[RX8025_REG_MIN] & 0x7f); in rx8025_get_time()
209 dt->tm_hour = bcd2bin(date[RX8025_REG_HOUR] & 0x3f); in rx8025_get_time()
211 dt->tm_hour = bcd2bin(date[RX8025_REG_HOUR] & 0x1f) % 12 in rx8025_get_time()
214 dt->tm_mday = bcd2bin(date[RX8025_REG_MDAY] & 0x3f); in rx8025_get_time()
215 dt->tm_mon = bcd2bin(date[RX8025_REG_MONTH] & 0x1f) - 1; in rx8025_get_time()
216 dt->tm_year = bcd2bin(date[RX8025_REG_YEAR]); in rx8025_get_time()
218 if (dt->tm_year < 70) in rx8025_get_time()
219 dt->tm_year += 100; in rx8025_get_time()
222 dt->tm_sec, dt->tm_min, dt->tm_hour, in rx8025_get_time()
223 dt->tm_mday, dt->tm_mon, dt->tm_year); in rx8025_get_time()
225 return rtc_valid_tm(dt); in rx8025_get_time()
228 static int rx8025_set_time(struct device *dev, struct rtc_time *dt) in rx8025_set_time() argument
243 date[RX8025_REG_SEC] = bin2bcd(dt->tm_sec); in rx8025_set_time()
244 date[RX8025_REG_MIN] = bin2bcd(dt->tm_min); in rx8025_set_time()
246 date[RX8025_REG_HOUR] = bin2bcd(dt->tm_hour); in rx8025_set_time()
248 date[RX8025_REG_HOUR] = (dt->tm_hour >= 12 ? 0x20 : 0) in rx8025_set_time()
249 | bin2bcd((dt->tm_hour + 11) % 12 + 1); in rx8025_set_time()
251 date[RX8025_REG_WDAY] = bin2bcd(dt->tm_wday); in rx8025_set_time()
252 date[RX8025_REG_MDAY] = bin2bcd(dt->tm_mday); in rx8025_set_time()
253 date[RX8025_REG_MONTH] = bin2bcd(dt->tm_mon + 1); in rx8025_set_time()
254 date[RX8025_REG_YEAR] = bin2bcd(dt->tm_year % 100); in rx8025_set_time()