Lines Matching refs:rtc

142 static inline uint8_t rtcset(struct rtcdev *rtc, uint32_t val)  in rtcset()  argument
144 return ((rtc->reg_b & RTCSB_BCD) ? val : bin2bcd_data[val]); in rtcset()
151 static int32_t rtcget(const struct rtcdev *rtc, uint8_t val, uint32_t *retval) in rtcget() argument
156 if (rtc->reg_b & RTCSB_BCD) { in rtcget()
260 const struct rtcdev *rtc= &vrtc->rtcdev; in rtc_to_secs() local
265 if ((rtcget(rtc, rtc->sec, &ct.sec) < 0) || (rtcget(rtc, rtc->min, &ct.min) < 0) || in rtc_to_secs()
266 (rtcget(rtc, rtc->day_of_month, &ct.day) < 0) || in rtc_to_secs()
267 (rtcget(rtc, rtc->month, &ct.mon) < 0) || (rtcget(rtc, rtc->year, &year) < 0) || in rtc_to_secs()
268 (rtcget(rtc, rtc->century, &century) < 0)) { in rtc_to_secs()
270 rtc->sec, rtc->min, rtc->day_of_month, rtc->month, in rtc_to_secs()
271 rtc->year, rtc->century); in rtc_to_secs()
279 hour = rtc->hour; in rtc_to_secs()
280 if ((rtc->reg_b & RTCSB_24HR) == 0) { in rtc_to_secs()
286 if (rtcget(rtc, hour, &ct.hour) != 0) { in rtc_to_secs()
287 pr_err("Invalid RTC hour %#x\n", rtc->hour); in rtc_to_secs()
290 if ((rtc->reg_b & RTCSB_24HR) == 0) { in rtc_to_secs()
310 rtc->hour, ct.hour); in rtc_to_secs()
325 pr_err("Invalid RTC century %x/%d\n", rtc->century, in rtc_to_secs()
348 struct rtcdev *rtc; in secs_to_rtc() local
352 rtc = &vrtc->rtcdev; in secs_to_rtc()
353 rtc->sec = rtcset(rtc, ct.sec); in secs_to_rtc()
354 rtc->min = rtcset(rtc, ct.min); in secs_to_rtc()
356 if (rtc->reg_b & RTCSB_24HR) { in secs_to_rtc()
378 rtc->hour = rtcset(rtc, hour); in secs_to_rtc()
380 if (((rtc->reg_b & RTCSB_24HR) == 0) && (ct.hour >= 12)) { in secs_to_rtc()
381 rtc->hour |= 0x80; /* set MSB to indicate PM */ in secs_to_rtc()
384 rtc->day_of_week = rtcset(rtc, ct.dow + 1); in secs_to_rtc()
385 rtc->day_of_month = rtcset(rtc, ct.day); in secs_to_rtc()
386 rtc->month = rtcset(rtc, ct.mon); in secs_to_rtc()
387 rtc->year = rtcset(rtc, ct.year % 100); in secs_to_rtc()
388 rtc->century = rtcset(rtc, ct.year / 100); in secs_to_rtc()
476 struct rtcdev *rtc = &vrtc->rtcdev; in vrtc_get_reg_c() local
479 if ((rtc->reg_b & RTCSB_AINTR) != 0U) { in vrtc_get_reg_c()
480 current = rtc->hour * 3600 + rtc->min * 60 + rtc->sec; in vrtc_get_reg_c()
481 alarm = rtc->alarm_hour * 3600 + rtc->alarm_min * 60 + rtc->alarm_sec; in vrtc_get_reg_c()