Lines Matching refs:rtc_tm
180 static int ds1511_rtc_set_time(struct device *dev, struct rtc_time *rtc_tm)
188 if (rtc_tm->tm_year < 1900)
189 rtc_tm->tm_year += 1900;
191 if (rtc_tm->tm_year < 1970)
194 yrs = rtc_tm->tm_year % 100;
195 cen = rtc_tm->tm_year / 100;
196 mon = rtc_tm->tm_mon + 1; /* tm_mon starts at zero */
197 day = rtc_tm->tm_mday;
198 dow = rtc_tm->tm_wday & 0x7; /* automatic BCD */
199 hrs = rtc_tm->tm_hour;
200 min = rtc_tm->tm_min;
201 sec = rtc_tm->tm_sec;
206 if (day > rtc_month_days(rtc_tm->tm_mon, rtc_tm->tm_year))
239 static int ds1511_rtc_read_time(struct device *dev, struct rtc_time *rtc_tm)
247 rtc_tm->tm_sec = rtc_read(RTC_SEC) & 0x7f;
248 rtc_tm->tm_min = rtc_read(RTC_MIN) & 0x7f;
249 rtc_tm->tm_hour = rtc_read(RTC_HOUR) & 0x3f;
250 rtc_tm->tm_mday = rtc_read(RTC_DOM) & 0x3f;
251 rtc_tm->tm_wday = rtc_read(RTC_DOW) & 0x7;
252 rtc_tm->tm_mon = rtc_read(RTC_MON) & 0x1f;
253 rtc_tm->tm_year = rtc_read(RTC_YEAR) & 0x7f;
259 rtc_tm->tm_sec = bcd2bin(rtc_tm->tm_sec);
260 rtc_tm->tm_min = bcd2bin(rtc_tm->tm_min);
261 rtc_tm->tm_hour = bcd2bin(rtc_tm->tm_hour);
262 rtc_tm->tm_mday = bcd2bin(rtc_tm->tm_mday);
263 rtc_tm->tm_wday = bcd2bin(rtc_tm->tm_wday);
264 rtc_tm->tm_mon = bcd2bin(rtc_tm->tm_mon);
265 rtc_tm->tm_year = bcd2bin(rtc_tm->tm_year);
272 century += rtc_tm->tm_year;
273 rtc_tm->tm_year = century - 1900;
275 rtc_tm->tm_mon--;