Lines Matching refs:tm
78 static int ds1216_rtc_read_time(struct device *dev, struct rtc_time *tm)
86 tm->tm_sec = bcd2bin(regs.sec);
87 tm->tm_min = bcd2bin(regs.min);
90 tm->tm_hour = bcd2bin(regs.hour & 0x1f);
92 tm->tm_hour += 12;
94 tm->tm_hour = bcd2bin(regs.hour & 0x3f);
95 tm->tm_wday = (regs.wday & 7) - 1;
96 tm->tm_mday = bcd2bin(regs.mday & 0x3f);
97 tm->tm_mon = bcd2bin(regs.month & 0x1f);
98 tm->tm_year = bcd2bin(regs.year);
99 if (tm->tm_year < 70)
100 tm->tm_year += 100;
105 static int ds1216_rtc_set_time(struct device *dev, struct rtc_time *tm)
114 regs.sec = bin2bcd(tm->tm_sec);
115 regs.min = bin2bcd(tm->tm_min);
117 if (regs.hour && tm->tm_hour > 12) {
119 tm->tm_hour -= 12;
121 regs.hour |= bin2bcd(tm->tm_hour);
123 regs.wday |= tm->tm_wday;
124 regs.mday = bin2bcd(tm->tm_mday);
125 regs.month = bin2bcd(tm->tm_mon);
126 regs.year = bin2bcd(tm->tm_year % 100);