Lines Matching refs:ct

174 static int32_t clk_ct_to_ts(struct clktime *ct, time_t *sec)  in clk_ct_to_ts()  argument
179 year = ct->year; in clk_ct_to_ts()
182 if ((ct->mon < 1U) || (ct->mon > 12U) || (ct->day < 1U) || in clk_ct_to_ts()
183 (ct->day > days_in_month(year, ct->mon)) || in clk_ct_to_ts()
184 (ct->hour > 23U) || (ct->min > 59U) || (ct->sec > 59U) || in clk_ct_to_ts()
199 for (i = 1; i < ct->mon; i++) { in clk_ct_to_ts()
202 days += (ct->day - 1); in clk_ct_to_ts()
204 *sec = (((time_t)days * 24 + ct->hour) * 60 + ct->min) * 60 + ct->sec; in clk_ct_to_ts()
212 static int32_t clk_ts_to_ct(time_t secs, struct clktime *ct) in clk_ts_to_ct() argument
221 ct->dow = day_of_week(days); in clk_ts_to_ct()
227 ct->year = year; in clk_ts_to_ct()
233 ct->mon = i; in clk_ts_to_ct()
236 ct->day = days + 1; in clk_ts_to_ct()
239 ct->hour = rsec / 3600U; in clk_ts_to_ct()
241 ct->min = rsec / 60U; in clk_ts_to_ct()
243 ct->sec = rsec; in clk_ts_to_ct()
246 if ((ct->mon > 12U) || (ct->year > 2037) || (ct->day > days_in_month(ct->year, ct->mon))) { in clk_ts_to_ct()
247 pr_err("Invalid vRTC param mon %d, year %d, day %d\n", ct->mon, ct->year, ct->day); in clk_ts_to_ct()
258 struct clktime ct; 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()
286 if (rtcget(rtc, hour, &ct.hour) != 0) { in rtc_to_secs()
291 if ((ct.hour >= 1) && (ct.hour <= 12)) { in rtc_to_secs()
302 if (ct.hour == 12) { in rtc_to_secs()
303 ct.hour = 0; in rtc_to_secs()
306 ct.hour += 12; in rtc_to_secs()
310 rtc->hour, ct.hour); in rtc_to_secs()
321 ct.dow = -1; in rtc_to_secs()
323 ct.year = century * 100 + year; in rtc_to_secs()
324 if (ct.year < POSIX_BASE_YEAR) { in rtc_to_secs()
326 ct.year); in rtc_to_secs()
330 if (clk_ct_to_ts(&ct, &second) != 0) { in rtc_to_secs()
332 ct.year, ct.mon, ct.day); in rtc_to_secs()
334 ct.hour, ct.min, ct.sec); in rtc_to_secs()
347 struct clktime ct; in secs_to_rtc() local
351 if ((rtctime > 0) && (clk_ts_to_ct(rtctime, &ct) == 0)) { 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()
357 hour = ct.hour; in secs_to_rtc()
362 switch (ct.hour) { in secs_to_rtc()
373 hour = ct.hour % 12; in secs_to_rtc()
380 if (((rtc->reg_b & RTCSB_24HR) == 0) && (ct.hour >= 12)) { 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()