Lines Matching refs:tm
139 static int moxart_rtc_set_time(struct device *dev, struct rtc_time *tm)
147 (((tm->tm_year - 100) / 10) << 4) |
148 ((tm->tm_year - 100) % 10));
151 (((tm->tm_mon + 1) / 10) << 4) |
152 ((tm->tm_mon + 1) % 10));
155 ((tm->tm_mday / 10) << 4) |
156 (tm->tm_mday % 10));
159 ((tm->tm_hour / 10) << 4) |
160 (tm->tm_hour % 10));
163 ((tm->tm_min / 10) << 4) |
164 (tm->tm_min % 10));
167 ((tm->tm_sec / 10) << 4) |
168 (tm->tm_sec % 10));
176 __func__, tm->tm_year, tm->tm_mon, tm->tm_mday,
177 tm->tm_hour, tm->tm_min, tm->tm_sec);
182 static int moxart_rtc_read_time(struct device *dev, struct rtc_time *tm)
190 tm->tm_sec = (((v & 0x70) >> 4) * 10) + (v & 0x0F);
193 tm->tm_min = (((v & 0x70) >> 4) * 10) + (v & 0x0F);
197 tm->tm_hour = (((v & 0x10) >> 4) * 10) + (v & 0x0F);
199 tm->tm_hour += 12;
200 if (tm->tm_hour >= 24)
201 tm->tm_hour = 0;
204 tm->tm_hour = (((v & 0x30) >> 4) * 10) + (v & 0x0F);
208 tm->tm_mday = (((v & 0x30) >> 4) * 10) + (v & 0x0F);
211 tm->tm_mon = (((v & 0x10) >> 4) * 10) + (v & 0x0F);
212 tm->tm_mon--;
215 tm->tm_year = (((v & 0xF0) >> 4) * 10) + (v & 0x0F);
216 tm->tm_year += 100;
217 if (tm->tm_year <= 69)
218 tm->tm_year += 100;
221 tm->tm_wday = (v & 0x0f) - 1;
222 tm->tm_yday = day_of_year[tm->tm_mon];
223 tm->tm_yday += (tm->tm_mday - 1);
224 if (tm->tm_mon >= 2) {
225 if (!(tm->tm_year % 4) && (tm->tm_year % 100))
226 tm->tm_yday++;
229 tm->tm_isdst = 0;