Lines Matching refs:tm

38 static int wm8350_rtc_readtime(struct device *dev, struct rtc_time *tm)
59 tm->tm_sec = time1[0] & WM8350_RTC_SECS_MASK;
61 tm->tm_min = (time1[0] & WM8350_RTC_MINS_MASK)
64 tm->tm_hour = time1[1] & WM8350_RTC_HRS_MASK;
66 tm->tm_wday = ((time1[1] >> WM8350_RTC_DAY_SHIFT)
69 tm->tm_mon = ((time1[2] & WM8350_RTC_MTH_MASK)
72 tm->tm_mday = (time1[2] & WM8350_RTC_DATE_MASK);
74 tm->tm_year = ((time1[3] & WM8350_RTC_YHUNDREDS_MASK)
76 tm->tm_year += time1[3] & WM8350_RTC_YUNITS_MASK;
78 tm->tm_yday = rtc_year_days(tm->tm_mday, tm->tm_mon,
79 tm->tm_year);
80 tm->tm_year -= 1900;
97 static int wm8350_rtc_settime(struct device *dev, struct rtc_time *tm)
104 time[0] = tm->tm_sec;
105 time[0] |= tm->tm_min << WM8350_RTC_MINS_SHIFT;
106 time[1] = tm->tm_hour;
107 time[1] |= (tm->tm_wday + 1) << WM8350_RTC_DAY_SHIFT;
108 time[2] = tm->tm_mday;
109 time[2] |= (tm->tm_mon + 1) << WM8350_RTC_MTH_SHIFT;
110 time[3] = ((tm->tm_year + 1900) / 100) << WM8350_RTC_YHUNDREDS_SHIFT;
111 time[3] |= (tm->tm_year + 1900) % 100;
149 struct rtc_time *tm = &alrm->time;
157 tm->tm_sec = time[0] & WM8350_RTC_ALMSECS_MASK;
158 if (tm->tm_sec == WM8350_RTC_ALMSECS_MASK)
159 tm->tm_sec = -1;
161 tm->tm_min = time[0] & WM8350_RTC_ALMMINS_MASK;
162 if (tm->tm_min == WM8350_RTC_ALMMINS_MASK)
163 tm->tm_min = -1;
165 tm->tm_min >>= WM8350_RTC_ALMMINS_SHIFT;
167 tm->tm_hour = time[1] & WM8350_RTC_ALMHRS_MASK;
168 if (tm->tm_hour == WM8350_RTC_ALMHRS_MASK)
169 tm->tm_hour = -1;
171 tm->tm_wday = ((time[1] >> WM8350_RTC_ALMDAY_SHIFT) & 0x7) - 1;
172 if (tm->tm_wday > 7)
173 tm->tm_wday = -1;
175 tm->tm_mon = time[2] & WM8350_RTC_ALMMTH_MASK;
176 if (tm->tm_mon == WM8350_RTC_ALMMTH_MASK)
177 tm->tm_mon = -1;
179 tm->tm_mon = (tm->tm_mon >> WM8350_RTC_ALMMTH_SHIFT) - 1;
181 tm->tm_mday = (time[2] & WM8350_RTC_ALMDATE_MASK);
182 if (tm->tm_mday == WM8350_RTC_ALMDATE_MASK)
183 tm->tm_mday = -1;
185 tm->tm_year = -1;
253 struct rtc_time *tm = &alrm->time;
259 if (tm->tm_sec != -1)
260 time[0] |= tm->tm_sec;
264 if (tm->tm_min != -1)
265 time[0] |= tm->tm_min << WM8350_RTC_ALMMINS_SHIFT;
269 if (tm->tm_hour != -1)
270 time[1] |= tm->tm_hour;
274 if (tm->tm_wday != -1)
275 time[1] |= (tm->tm_wday + 1) << WM8350_RTC_ALMDAY_SHIFT;
279 if (tm->tm_mday != -1)
280 time[2] |= tm->tm_mday;
284 if (tm->tm_mon != -1)
285 time[2] |= (tm->tm_mon + 1) << WM8350_RTC_ALMMTH_SHIFT;