Lines Matching refs:tm

31 static int wm8350_rtc_readtime(struct device *dev, struct rtc_time *tm)
52 tm->tm_sec = time1[0] & WM8350_RTC_SECS_MASK;
54 tm->tm_min = (time1[0] & WM8350_RTC_MINS_MASK)
57 tm->tm_hour = time1[1] & WM8350_RTC_HRS_MASK;
59 tm->tm_wday = ((time1[1] >> WM8350_RTC_DAY_SHIFT)
62 tm->tm_mon = ((time1[2] & WM8350_RTC_MTH_MASK)
65 tm->tm_mday = (time1[2] & WM8350_RTC_DATE_MASK);
67 tm->tm_year = ((time1[3] & WM8350_RTC_YHUNDREDS_MASK)
69 tm->tm_year += time1[3] & WM8350_RTC_YUNITS_MASK;
71 tm->tm_yday = rtc_year_days(tm->tm_mday, tm->tm_mon,
72 tm->tm_year);
73 tm->tm_year -= 1900;
90 static int wm8350_rtc_settime(struct device *dev, struct rtc_time *tm)
97 time[0] = tm->tm_sec;
98 time[0] |= tm->tm_min << WM8350_RTC_MINS_SHIFT;
99 time[1] = tm->tm_hour;
100 time[1] |= (tm->tm_wday + 1) << WM8350_RTC_DAY_SHIFT;
101 time[2] = tm->tm_mday;
102 time[2] |= (tm->tm_mon + 1) << WM8350_RTC_MTH_SHIFT;
103 time[3] = ((tm->tm_year + 1900) / 100) << WM8350_RTC_YHUNDREDS_SHIFT;
104 time[3] |= (tm->tm_year + 1900) % 100;
142 struct rtc_time *tm = &alrm->time;
150 tm->tm_sec = time[0] & WM8350_RTC_ALMSECS_MASK;
151 if (tm->tm_sec == WM8350_RTC_ALMSECS_MASK)
152 tm->tm_sec = -1;
154 tm->tm_min = time[0] & WM8350_RTC_ALMMINS_MASK;
155 if (tm->tm_min == WM8350_RTC_ALMMINS_MASK)
156 tm->tm_min = -1;
158 tm->tm_min >>= WM8350_RTC_ALMMINS_SHIFT;
160 tm->tm_hour = time[1] & WM8350_RTC_ALMHRS_MASK;
161 if (tm->tm_hour == WM8350_RTC_ALMHRS_MASK)
162 tm->tm_hour = -1;
164 tm->tm_wday = ((time[1] >> WM8350_RTC_ALMDAY_SHIFT) & 0x7) - 1;
165 if (tm->tm_wday > 7)
166 tm->tm_wday = -1;
168 tm->tm_mon = time[2] & WM8350_RTC_ALMMTH_MASK;
169 if (tm->tm_mon == WM8350_RTC_ALMMTH_MASK)
170 tm->tm_mon = -1;
172 tm->tm_mon = (tm->tm_mon >> WM8350_RTC_ALMMTH_SHIFT) - 1;
174 tm->tm_mday = (time[2] & WM8350_RTC_ALMDATE_MASK);
175 if (tm->tm_mday == WM8350_RTC_ALMDATE_MASK)
176 tm->tm_mday = -1;
178 tm->tm_year = -1;
246 struct rtc_time *tm = &alrm->time;
252 if (tm->tm_sec != -1)
253 time[0] |= tm->tm_sec;
257 if (tm->tm_min != -1)
258 time[0] |= tm->tm_min << WM8350_RTC_ALMMINS_SHIFT;
262 if (tm->tm_hour != -1)
263 time[1] |= tm->tm_hour;
267 if (tm->tm_wday != -1)
268 time[1] |= (tm->tm_wday + 1) << WM8350_RTC_ALMDAY_SHIFT;
272 if (tm->tm_mday != -1)
273 time[2] |= tm->tm_mday;
277 if (tm->tm_mon != -1)
278 time[2] |= (tm->tm_mon + 1) << WM8350_RTC_ALMMTH_SHIFT;