dm: rtc: Rename to_tm() to rtc_to_tm() and add error code
Rename this function so that it is clear that it is provided by the RTC. Also return an error when it cannot function as expected. This is unlikely to occur since it works for dates since 1752 and many RTCs do not support such old dates. Still it is better to be accurate. Signed-off-by: Simon Glass <sjg@chromium.org> Acked-by: Heiko Schocher <hs@denx.de>
This commit is contained in:
@@ -44,7 +44,7 @@ int rtc_get (struct rtc_time *tmp)
|
||||
} while (tim!=tim2);
|
||||
off = readl(&gpbr->reg[AT91_GPBR_INDEX_TIMEOFF]);
|
||||
/* off==0 means time is invalid, but we ignore that */
|
||||
to_tm (tim+off, tmp);
|
||||
rtc_to_tm(tim+off, tmp);
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
||||
@@ -114,7 +114,7 @@ int rtc_get(struct rtc_time *tmp)
|
||||
|
||||
/* Calculate the total number of seconds since epoch */
|
||||
time_in_sec = (tm_sec) + MIN_TO_SECS(tm_min) + HRS_TO_SECS(tm_hr) + DAYS_TO_SECS(tm_day);
|
||||
to_tm(time_in_sec, tmp);
|
||||
rtc_to_tm(time_in_sec, tmp);
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
@@ -71,7 +71,7 @@ int rtc_calc_weekday(struct rtc_time *tm)
|
||||
return 0;
|
||||
}
|
||||
|
||||
void to_tm(int tim, struct rtc_time * tm)
|
||||
int rtc_to_tm(int tim, struct rtc_time *tm)
|
||||
{
|
||||
register int i;
|
||||
register long hms, day;
|
||||
@@ -103,10 +103,14 @@ void to_tm(int tim, struct rtc_time * tm)
|
||||
/* Days are what is left over (+1) from all that. */
|
||||
tm->tm_mday = day + 1;
|
||||
|
||||
/* Zero unused fields */
|
||||
tm->tm_yday = 0;
|
||||
tm->tm_isdst = 0;
|
||||
|
||||
/*
|
||||
* Determine the day of week
|
||||
*/
|
||||
rtc_calc_weekday(tm);
|
||||
return rtc_calc_weekday(tm);
|
||||
}
|
||||
|
||||
/* Converts Gregorian date to seconds since 1970-01-01 00:00:00.
|
||||
|
||||
@@ -118,7 +118,7 @@ int rtc_get (struct rtc_time *tm){
|
||||
|
||||
DEBUGR ("Get RTC s since 1.1.1970: %ld\n", time1);
|
||||
|
||||
to_tm(time1, tm); /* To Gregorian Date */
|
||||
rtc_to_tm(time1, tm); /* To Gregorian Date */
|
||||
|
||||
if (rtc_read(RTC_SR_ADDR) & RTC_SR_BIT_OSF) {
|
||||
printf ("### Warning: RTC oscillator has stopped\n");
|
||||
|
||||
@@ -86,7 +86,7 @@ int rtc_get(struct rtc_time *tmp)
|
||||
now = ftrtc010_time() + readl(&rtc->record);
|
||||
#endif
|
||||
|
||||
to_tm(now, tmp);
|
||||
rtc_to_tm(now, tmp);
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
@@ -192,7 +192,7 @@ int rtc_get(struct rtc_time *tmp)
|
||||
}
|
||||
|
||||
now = __raw_readl(&data.regs->dtcmr);
|
||||
to_tm(now, tmp);
|
||||
rtc_to_tm(now, tmp);
|
||||
|
||||
err:
|
||||
return rc;
|
||||
|
||||
@@ -36,7 +36,7 @@ int rtc_get(struct rtc_time *rtc)
|
||||
|
||||
tim = day1 * 86400 + time;
|
||||
|
||||
to_tm(tim, rtc);
|
||||
rtc_to_tm(tim, rtc);
|
||||
|
||||
rtc->tm_yday = 0;
|
||||
rtc->tm_isdst = 0;
|
||||
|
||||
@@ -38,7 +38,7 @@ int rtc_get(struct rtc_time *tmp)
|
||||
tim = (tim * 60) + rtc_mins;
|
||||
tim = (tim * 60) + rtc->seconds;
|
||||
|
||||
to_tm(tim, tmp);
|
||||
rtc_to_tm(tim, tmp);
|
||||
|
||||
tmp->tm_yday = 0;
|
||||
tmp->tm_isdst = 0;
|
||||
|
||||
@@ -26,7 +26,7 @@ int rtc_get (struct rtc_time *tmp)
|
||||
|
||||
tim = immr->im_sit.sit_rtc;
|
||||
|
||||
to_tm (tim, tmp);
|
||||
rtc_to_tm(tim, tmp);
|
||||
|
||||
debug ( "Get DATE: %4d-%02d-%02d (wday=%d) TIME: %2d:%02d:%02d\n",
|
||||
tmp->tm_year, tmp->tm_mon, tmp->tm_mday, tmp->tm_wday,
|
||||
|
||||
@@ -30,7 +30,7 @@ int rtc_get(struct rtc_time *time)
|
||||
|
||||
sec += min * 60 + hour * 3600 + day * 24 * 3600;
|
||||
|
||||
to_tm(sec, time);
|
||||
rtc_to_tm(sec, time);
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
@@ -43,7 +43,7 @@ int rtc_get(struct rtc_time *time)
|
||||
uint32_t secs;
|
||||
|
||||
secs = readl(&rtc_regs->hw_rtc_seconds);
|
||||
to_tm(secs, time);
|
||||
rtc_to_tm(secs, time);
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
@@ -97,7 +97,7 @@ int rtc_get(struct rtc_time *tmp)
|
||||
|
||||
tim = RTC_READ_REG(RTC_DR);
|
||||
|
||||
to_tm (tim, tmp);
|
||||
rtc_to_tm(tim, tmp);
|
||||
|
||||
debug ( "Get DATE: %4d-%02d-%02d (wday=%d) TIME: %2d:%02d:%02d\n",
|
||||
tmp->tm_year, tmp->tm_mon, tmp->tm_mday, tmp->tm_wday,
|
||||
|
||||
Reference in New Issue
Block a user