diff options
Diffstat (limited to 'drivers/rtc/isl1208.c')
-rw-r--r-- | drivers/rtc/isl1208.c | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/drivers/rtc/isl1208.c b/drivers/rtc/isl1208.c index d872802..3d46fd0 100644 --- a/drivers/rtc/isl1208.c +++ b/drivers/rtc/isl1208.c @@ -73,8 +73,9 @@ static unsigned bcd2bin (uchar c); * Get the current time from the RTC */ -void rtc_get (struct rtc_time *tmp) +int rtc_get (struct rtc_time *tmp) { + int rel = 0; uchar sec, min, hour, mday, wday, mon, year, status; status = rtc_read (RTC_STAT_REG_ADDR); @@ -94,6 +95,7 @@ void rtc_get (struct rtc_time *tmp) printf ("### Warning: RTC oscillator has stopped\n"); rtc_write(RTC_STAT_REG_ADDR, rtc_read(RTC_STAT_REG_ADDR) &~ (RTC_STAT_BIT_BAT|RTC_STAT_BIT_RTCF)); + rel = -1; } tmp->tm_sec = bcd2bin (sec & 0x7F); @@ -109,6 +111,8 @@ void rtc_get (struct rtc_time *tmp) DEBUGR ("Get DATE: %4d-%02d-%02d (wday=%d) TIME: %2d:%02d:%02d\n", tmp->tm_year, tmp->tm_mon, tmp->tm_mday, tmp->tm_wday, tmp->tm_hour, tmp->tm_min, tmp->tm_sec); + + return rel; } /* |