Lines Matching refs:tm
80 static void max8997_rtc_data_to_tm(u8 *data, struct rtc_time *tm, in max8997_rtc_data_to_tm() argument
83 tm->tm_sec = data[RTC_SEC] & 0x7f; in max8997_rtc_data_to_tm()
84 tm->tm_min = data[RTC_MIN] & 0x7f; in max8997_rtc_data_to_tm()
86 tm->tm_hour = data[RTC_HOUR] & 0x1f; in max8997_rtc_data_to_tm()
88 tm->tm_hour = data[RTC_HOUR] & 0x0f; in max8997_rtc_data_to_tm()
90 tm->tm_hour += 12; in max8997_rtc_data_to_tm()
93 tm->tm_wday = fls(data[RTC_WEEKDAY] & 0x7f) - 1; in max8997_rtc_data_to_tm()
94 tm->tm_mday = data[RTC_DATE] & 0x1f; in max8997_rtc_data_to_tm()
95 tm->tm_mon = (data[RTC_MONTH] & 0x0f) - 1; in max8997_rtc_data_to_tm()
96 tm->tm_year = (data[RTC_YEAR] & 0x7f) + 100; in max8997_rtc_data_to_tm()
97 tm->tm_yday = 0; in max8997_rtc_data_to_tm()
98 tm->tm_isdst = 0; in max8997_rtc_data_to_tm()
101 static int max8997_rtc_tm_to_data(struct rtc_time *tm, u8 *data) in max8997_rtc_tm_to_data() argument
103 data[RTC_SEC] = tm->tm_sec; in max8997_rtc_tm_to_data()
104 data[RTC_MIN] = tm->tm_min; in max8997_rtc_tm_to_data()
105 data[RTC_HOUR] = tm->tm_hour; in max8997_rtc_tm_to_data()
106 data[RTC_WEEKDAY] = 1 << tm->tm_wday; in max8997_rtc_tm_to_data()
107 data[RTC_DATE] = tm->tm_mday; in max8997_rtc_tm_to_data()
108 data[RTC_MONTH] = tm->tm_mon + 1; in max8997_rtc_tm_to_data()
109 data[RTC_YEAR] = tm->tm_year > 100 ? (tm->tm_year - 100) : 0; in max8997_rtc_tm_to_data()
111 if (tm->tm_year < 100) { in max8997_rtc_tm_to_data()
113 1900 + tm->tm_year); in max8997_rtc_tm_to_data()
138 static int max8997_rtc_read_time(struct device *dev, struct rtc_time *tm) in max8997_rtc_read_time() argument
154 max8997_rtc_data_to_tm(data, tm, info->rtc_24hr_mode); in max8997_rtc_read_time()
156 return rtc_valid_tm(tm); in max8997_rtc_read_time()
159 static int max8997_rtc_set_time(struct device *dev, struct rtc_time *tm) in max8997_rtc_set_time() argument
165 ret = max8997_rtc_tm_to_data(tm, data); in max8997_rtc_set_time()