Lines Matching refs:tm
81 static void max8998_data_to_tm(u8 *data, struct rtc_time *tm) in max8998_data_to_tm() argument
83 tm->tm_sec = bcd2bin(data[RTC_SEC]); in max8998_data_to_tm()
84 tm->tm_min = bcd2bin(data[RTC_MIN]); in max8998_data_to_tm()
86 tm->tm_hour = bcd2bin(data[RTC_HOUR] & 0x1f); in max8998_data_to_tm()
88 tm->tm_hour += 12; in max8998_data_to_tm()
90 tm->tm_hour = bcd2bin(data[RTC_HOUR] & 0x3f); in max8998_data_to_tm()
92 tm->tm_wday = data[RTC_WEEKDAY] & 0x07; in max8998_data_to_tm()
93 tm->tm_mday = bcd2bin(data[RTC_DATE]); in max8998_data_to_tm()
94 tm->tm_mon = bcd2bin(data[RTC_MONTH]); in max8998_data_to_tm()
95 tm->tm_year = bcd2bin(data[RTC_YEAR1]) + bcd2bin(data[RTC_YEAR2]) * 100; in max8998_data_to_tm()
96 tm->tm_year -= 1900; in max8998_data_to_tm()
99 static void max8998_tm_to_data(struct rtc_time *tm, u8 *data) in max8998_tm_to_data() argument
101 data[RTC_SEC] = bin2bcd(tm->tm_sec); in max8998_tm_to_data()
102 data[RTC_MIN] = bin2bcd(tm->tm_min); in max8998_tm_to_data()
103 data[RTC_HOUR] = bin2bcd(tm->tm_hour); in max8998_tm_to_data()
104 data[RTC_WEEKDAY] = tm->tm_wday; in max8998_tm_to_data()
105 data[RTC_DATE] = bin2bcd(tm->tm_mday); in max8998_tm_to_data()
106 data[RTC_MONTH] = bin2bcd(tm->tm_mon); in max8998_tm_to_data()
107 data[RTC_YEAR1] = bin2bcd(tm->tm_year % 100); in max8998_tm_to_data()
108 data[RTC_YEAR2] = bin2bcd((tm->tm_year + 1900) / 100); in max8998_tm_to_data()
111 static int max8998_rtc_read_time(struct device *dev, struct rtc_time *tm) in max8998_rtc_read_time() argument
121 max8998_data_to_tm(data, tm); in max8998_rtc_read_time()
123 return rtc_valid_tm(tm); in max8998_rtc_read_time()
126 static int max8998_rtc_set_time(struct device *dev, struct rtc_time *tm) in max8998_rtc_set_time() argument
132 max8998_tm_to_data(tm, data); in max8998_rtc_set_time()