Merge tag 'rpi-next-2019.10' of https://github.com/mbgg/u-boot
[oweals/u-boot.git] / drivers / rtc / ds1302.c
index 55af1302d577c250dc974796e72b91de6754e4c7..b94163f7486baa1a4c0b01364f915fd6290c5283 100644 (file)
@@ -9,8 +9,6 @@
 #include <command.h>
 #include <rtc.h>
 
-#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;
+}