Lines Matching refs:tm
216 static int _abb5zes3_rtc_read_time(struct device *dev, struct rtc_time *tm) in _abb5zes3_rtc_read_time() argument
242 tm->tm_sec = bcd2bin(regs[ABB5ZES3_REG_RTC_SC] & 0x7F); in _abb5zes3_rtc_read_time()
243 tm->tm_min = bcd2bin(regs[ABB5ZES3_REG_RTC_MN]); in _abb5zes3_rtc_read_time()
246 tm->tm_hour = bcd2bin(regs[ABB5ZES3_REG_RTC_HR] & 0x1f); in _abb5zes3_rtc_read_time()
248 tm->tm_hour += 12; in _abb5zes3_rtc_read_time()
250 tm->tm_hour = bcd2bin(regs[ABB5ZES3_REG_RTC_HR]); in _abb5zes3_rtc_read_time()
253 tm->tm_mday = bcd2bin(regs[ABB5ZES3_REG_RTC_DT]); in _abb5zes3_rtc_read_time()
254 tm->tm_wday = bcd2bin(regs[ABB5ZES3_REG_RTC_DW]); in _abb5zes3_rtc_read_time()
255 tm->tm_mon = bcd2bin(regs[ABB5ZES3_REG_RTC_MO]) - 1; /* starts at 1 */ in _abb5zes3_rtc_read_time()
256 tm->tm_year = bcd2bin(regs[ABB5ZES3_REG_RTC_YR]) + 100; in _abb5zes3_rtc_read_time()
258 ret = rtc_valid_tm(tm); in _abb5zes3_rtc_read_time()
264 static int abb5zes3_rtc_set_time(struct device *dev, struct rtc_time *tm) in abb5zes3_rtc_set_time() argument
276 if (tm->tm_year < 100) in abb5zes3_rtc_set_time()
279 regs[ABB5ZES3_REG_RTC_SC] = bin2bcd(tm->tm_sec); /* MSB=0 clears OSC */ in abb5zes3_rtc_set_time()
280 regs[ABB5ZES3_REG_RTC_MN] = bin2bcd(tm->tm_min); in abb5zes3_rtc_set_time()
281 regs[ABB5ZES3_REG_RTC_HR] = bin2bcd(tm->tm_hour); /* 24-hour format */ in abb5zes3_rtc_set_time()
282 regs[ABB5ZES3_REG_RTC_DT] = bin2bcd(tm->tm_mday); in abb5zes3_rtc_set_time()
283 regs[ABB5ZES3_REG_RTC_DW] = bin2bcd(tm->tm_wday); in abb5zes3_rtc_set_time()
284 regs[ABB5ZES3_REG_RTC_MO] = bin2bcd(tm->tm_mon + 1); in abb5zes3_rtc_set_time()
285 regs[ABB5ZES3_REG_RTC_YR] = bin2bcd(tm->tm_year - 100); in abb5zes3_rtc_set_time()