Lines Matching refs:tm
93 struct rtc_time *tm) in mpc5121_rtc_update_smh() argument
95 out_8(®s->second_set, tm->tm_sec); in mpc5121_rtc_update_smh()
96 out_8(®s->minute_set, tm->tm_min); in mpc5121_rtc_update_smh()
97 out_8(®s->hour_set, tm->tm_hour); in mpc5121_rtc_update_smh()
106 static int mpc5121_rtc_read_time(struct device *dev, struct rtc_time *tm) in mpc5121_rtc_read_time() argument
117 rtc_time_to_tm(now, tm); in mpc5121_rtc_read_time()
123 mpc5121_rtc_update_smh(regs, tm); in mpc5121_rtc_read_time()
125 return rtc_valid_tm(tm); in mpc5121_rtc_read_time()
128 static int mpc5121_rtc_set_time(struct device *dev, struct rtc_time *tm) in mpc5121_rtc_set_time() argument
139 ret = rtc_tm_to_time(tm, &now); in mpc5121_rtc_set_time()
147 mpc5121_rtc_update_smh(regs, tm); in mpc5121_rtc_set_time()
152 static int mpc5200_rtc_read_time(struct device *dev, struct rtc_time *tm) in mpc5200_rtc_read_time() argument
158 tm->tm_sec = in_8(®s->second); in mpc5200_rtc_read_time()
159 tm->tm_min = in_8(®s->minute); in mpc5200_rtc_read_time()
163 tm->tm_hour = (in_8(®s->hour) >> 1) + in mpc5200_rtc_read_time()
166 tm->tm_hour = in_8(®s->hour); in mpc5200_rtc_read_time()
169 tm->tm_mday = tmp & 0x1f; in mpc5200_rtc_read_time()
170 tm->tm_mon = in_8(®s->month) - 1; in mpc5200_rtc_read_time()
171 tm->tm_year = in_be16(®s->year) - 1900; in mpc5200_rtc_read_time()
172 tm->tm_wday = (tmp >> 5) % 7; in mpc5200_rtc_read_time()
173 tm->tm_yday = rtc_year_days(tm->tm_mday, tm->tm_mon, tm->tm_year); in mpc5200_rtc_read_time()
174 tm->tm_isdst = 0; in mpc5200_rtc_read_time()
179 static int mpc5200_rtc_set_time(struct device *dev, struct rtc_time *tm) in mpc5200_rtc_set_time() argument
184 mpc5121_rtc_update_smh(regs, tm); in mpc5200_rtc_set_time()
187 out_8(®s->month_set, tm->tm_mon + 1); in mpc5200_rtc_set_time()
188 out_8(®s->weekday_set, tm->tm_wday ? tm->tm_wday : 7); in mpc5200_rtc_set_time()
189 out_8(®s->date_set, tm->tm_mday); in mpc5200_rtc_set_time()
190 out_be16(®s->year_set, tm->tm_year + 1900); in mpc5200_rtc_set_time()