X-Git-Url: https://git.librecmc.org/?a=blobdiff_plain;f=drivers%2Frtc%2Fds1302.c;h=b94163f7486baa1a4c0b01364f915fd6290c5283;hb=61fba0faba432ae1cefc3984f863c28880d30329;hp=55af1302d577c250dc974796e72b91de6754e4c7;hpb=74ac5facb988fc488a707db228b177ead63a6541;p=oweals%2Fu-boot.git diff --git a/drivers/rtc/ds1302.c b/drivers/rtc/ds1302.c index 55af1302d5..b94163f748 100644 --- a/drivers/rtc/ds1302.c +++ b/drivers/rtc/ds1302.c @@ -9,8 +9,6 @@ #include #include -#if defined(CONFIG_RTC_DS1302) && defined(CONFIG_CMD_DATE) - /* GPP Pins */ #define DATA 0x200 #define SCLK 0x400 @@ -66,7 +64,7 @@ struct ds1302_st unsigned char month:4; unsigned char zero4:5; - unsigned char day:3; /* day of week */ + unsigned char day:3; /* day of week */ unsigned char year10:4; unsigned char year:4; @@ -191,7 +189,7 @@ write_ser_drv(unsigned char addr, unsigned char *buf, int count) void rtc_init(void) { - struct ds1302_st bbclk; + struct ds1302_st bbclk; unsigned char b; int mod; @@ -253,9 +251,10 @@ rtc_reset(void) /* TODO */ } -void +int rtc_get(struct rtc_time *tmp) { + int rel = 0; struct ds1302_st bbclk; if(!ds1302_initted) rtc_init(); @@ -265,6 +264,7 @@ rtc_get(struct rtc_time *tmp) if (bbclk.CH) { printf("ds1302: rtc_get: Clock was halted, clock probably " "corrupt\n"); + rel = -1; } tmp->tm_sec=10*bbclk.sec10+bbclk.sec; @@ -281,10 +281,11 @@ rtc_get(struct rtc_time *tmp) DPRINTF("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; } -void -rtc_set(struct rtc_time *tmp) +int rtc_set(struct rtc_time *tmp) { struct ds1302_st bbclk; unsigned char b=0; @@ -322,6 +323,6 @@ rtc_set(struct rtc_time *tmp) write_ser_drv(0x8e,&b,1); /* disable write protect */ write_ser_drv(0xbe,(unsigned char *)&bbclk, 8); /* write burst */ -} -#endif + return 0; +}