Lines Matching refs:tm
79 static int ds1216_rtc_read_time(struct device *dev, struct rtc_time *tm) in ds1216_rtc_read_time() argument
88 tm->tm_sec = bcd2bin(regs.sec); in ds1216_rtc_read_time()
89 tm->tm_min = bcd2bin(regs.min); in ds1216_rtc_read_time()
92 tm->tm_hour = bcd2bin(regs.hour & 0x1f); in ds1216_rtc_read_time()
94 tm->tm_hour += 12; in ds1216_rtc_read_time()
96 tm->tm_hour = bcd2bin(regs.hour & 0x3f); in ds1216_rtc_read_time()
97 tm->tm_wday = (regs.wday & 7) - 1; in ds1216_rtc_read_time()
98 tm->tm_mday = bcd2bin(regs.mday & 0x3f); in ds1216_rtc_read_time()
99 tm->tm_mon = bcd2bin(regs.month & 0x1f); in ds1216_rtc_read_time()
100 tm->tm_year = bcd2bin(regs.year); in ds1216_rtc_read_time()
101 if (tm->tm_year < 70) in ds1216_rtc_read_time()
102 tm->tm_year += 100; in ds1216_rtc_read_time()
104 return rtc_valid_tm(tm); in ds1216_rtc_read_time()
107 static int ds1216_rtc_set_time(struct device *dev, struct rtc_time *tm) in ds1216_rtc_set_time() argument
117 regs.sec = bin2bcd(tm->tm_sec); in ds1216_rtc_set_time()
118 regs.min = bin2bcd(tm->tm_min); in ds1216_rtc_set_time()
120 if (regs.hour && tm->tm_hour > 12) { in ds1216_rtc_set_time()
122 tm->tm_hour -= 12; in ds1216_rtc_set_time()
124 regs.hour |= bin2bcd(tm->tm_hour); in ds1216_rtc_set_time()
126 regs.wday |= tm->tm_wday; in ds1216_rtc_set_time()
127 regs.mday = bin2bcd(tm->tm_mday); in ds1216_rtc_set_time()
128 regs.month = bin2bcd(tm->tm_mon); in ds1216_rtc_set_time()
129 regs.year = bin2bcd(tm->tm_year % 100); in ds1216_rtc_set_time()