Lines Matching full:tm

67 static void rzn1_rtc_get_time_snapshot(struct rzn1_rtc *rtc, struct rtc_time *tm)  in rzn1_rtc_get_time_snapshot()  argument
69 tm->tm_sec = readl(rtc->base + RZN1_RTC_SECC); in rzn1_rtc_get_time_snapshot()
70 tm->tm_min = readl(rtc->base + RZN1_RTC_MINC); in rzn1_rtc_get_time_snapshot()
71 tm->tm_hour = readl(rtc->base + RZN1_RTC_HOURC); in rzn1_rtc_get_time_snapshot()
72 tm->tm_wday = readl(rtc->base + RZN1_RTC_WEEKC); in rzn1_rtc_get_time_snapshot()
73 tm->tm_mday = readl(rtc->base + RZN1_RTC_DAYC); in rzn1_rtc_get_time_snapshot()
74 tm->tm_mon = readl(rtc->base + RZN1_RTC_MONTHC); in rzn1_rtc_get_time_snapshot()
75 tm->tm_year = readl(rtc->base + RZN1_RTC_YEARC); in rzn1_rtc_get_time_snapshot()
78 static unsigned int rzn1_rtc_tm_to_wday(struct rtc_time *tm) in rzn1_rtc_tm_to_wday() argument
84 time = rtc_tm_to_time64(tm); in rzn1_rtc_tm_to_wday()
91 static int rzn1_rtc_read_time(struct device *dev, struct rtc_time *tm) in rzn1_rtc_read_time() argument
104 rzn1_rtc_get_time_snapshot(rtc, tm); in rzn1_rtc_read_time()
106 if (tm->tm_sec != secs) in rzn1_rtc_read_time()
107 rzn1_rtc_get_time_snapshot(rtc, tm); in rzn1_rtc_read_time()
109 tm->tm_sec = bcd2bin(tm->tm_sec); in rzn1_rtc_read_time()
110 tm->tm_min = bcd2bin(tm->tm_min); in rzn1_rtc_read_time()
111 tm->tm_hour = bcd2bin(tm->tm_hour); in rzn1_rtc_read_time()
112 tm->tm_wday = bcd2bin(tm->tm_wday); in rzn1_rtc_read_time()
113 tm->tm_mday = bcd2bin(tm->tm_mday); in rzn1_rtc_read_time()
114 tm->tm_mon = bcd2bin(tm->tm_mon); in rzn1_rtc_read_time()
115 tm->tm_year = bcd2bin(tm->tm_year); in rzn1_rtc_read_time()
120 static int rzn1_rtc_set_time(struct device *dev, struct rtc_time *tm) in rzn1_rtc_set_time() argument
126 tm->tm_sec = bin2bcd(tm->tm_sec); in rzn1_rtc_set_time()
127 tm->tm_min = bin2bcd(tm->tm_min); in rzn1_rtc_set_time()
128 tm->tm_hour = bin2bcd(tm->tm_hour); in rzn1_rtc_set_time()
129 tm->tm_wday = bin2bcd(rzn1_rtc_tm_to_wday(tm)); in rzn1_rtc_set_time()
130 tm->tm_mday = bin2bcd(tm->tm_mday); in rzn1_rtc_set_time()
131 tm->tm_mon = bin2bcd(tm->tm_mon); in rzn1_rtc_set_time()
132 tm->tm_year = bin2bcd(tm->tm_year); in rzn1_rtc_set_time()
147 writel(tm->tm_sec, rtc->base + RZN1_RTC_SEC); in rzn1_rtc_set_time()
148 writel(tm->tm_min, rtc->base + RZN1_RTC_MIN); in rzn1_rtc_set_time()
149 writel(tm->tm_hour, rtc->base + RZN1_RTC_HOUR); in rzn1_rtc_set_time()
150 writel(tm->tm_wday, rtc->base + RZN1_RTC_WEEK); in rzn1_rtc_set_time()
151 writel(tm->tm_mday, rtc->base + RZN1_RTC_DAY); in rzn1_rtc_set_time()
152 writel(tm->tm_mon, rtc->base + RZN1_RTC_MONTH); in rzn1_rtc_set_time()
153 writel(tm->tm_year, rtc->base + RZN1_RTC_YEAR); in rzn1_rtc_set_time()
186 struct rtc_time *tm = &alrm->time; in rzn1_rtc_read_alarm() local
192 ret = rzn1_rtc_read_time(dev, tm); in rzn1_rtc_read_alarm()
200 tm->tm_sec = 0; in rzn1_rtc_read_alarm()
201 tm->tm_min = bcd2bin(min); in rzn1_rtc_read_alarm()
202 tm->tm_hour = bcd2bin(hour); in rzn1_rtc_read_alarm()
203 delta_days = ((fls(wday) - 1) - tm->tm_wday + 7) % 7; in rzn1_rtc_read_alarm()
204 tm->tm_wday = fls(wday) - 1; in rzn1_rtc_read_alarm()
207 alarm = rtc_tm_to_time64(tm) + (delta_days * 86400); in rzn1_rtc_read_alarm()
208 rtc_time64_to_tm(alarm, tm); in rzn1_rtc_read_alarm()
220 struct rtc_time *tm = &alrm->time, tm_now; in rzn1_rtc_set_alarm() local
231 alarm = rtc_tm_to_time64(tm); in rzn1_rtc_set_alarm()
236 days_ahead = tm->tm_mday - tm_now.tm_mday; in rzn1_rtc_set_alarm()
239 writel(bin2bcd(tm->tm_min), rtc->base + RZN1_RTC_ALM); in rzn1_rtc_set_alarm()
240 writel(bin2bcd(tm->tm_hour), rtc->base + RZN1_RTC_ALH); in rzn1_rtc_set_alarm()