From: Meng Yi <meng...@nxp.com>

Unfortunately version 2 of this patch was applied which was missing some
changes. Fix this.

Signed-off-by: Meng Yi <meng...@nxp.com>
Acked-by: Simon Glass <s...@chromium.org>
Signed-off-by: Simon Glass <s...@chromium.org>
---

 drivers/rtc/Kconfig   |  6 +++++-
 drivers/rtc/pcf2127.c | 42 ++++++++++++++++++++++--------------------
 2 files changed, 27 insertions(+), 21 deletions(-)

diff --git a/drivers/rtc/Kconfig b/drivers/rtc/Kconfig
index 57af1b56cbf..cb79a016316 100644
--- a/drivers/rtc/Kconfig
+++ b/drivers/rtc/Kconfig
@@ -17,6 +17,10 @@ config RTC_PCF2127
        bool "Enable PCF2127 driver"
        depends on DM_RTC
        help
-         Enable pcf2127 driver which provides rtc get and set function
+         The PCF2127 is a CMOS Real Time Clock (RTC) and calendar with an 
integrated
+         Temperature Compensated Crystal (Xtal) Oscillator (TCXO) and a 32.768 
kHz quartz
+         crystal optimized for very high accuracy and very low power 
consumption. The PCF2127
+         has a selectable I2C-bus or SPI-bus, a backup battery switch-over 
circuit, a
+         programmable watchdog function, a timestamp function, and many other 
features.
 
 endmenu
diff --git a/drivers/rtc/pcf2127.c b/drivers/rtc/pcf2127.c
index bc59c6cda35..dcf0340b4dc 100644
--- a/drivers/rtc/pcf2127.c
+++ b/drivers/rtc/pcf2127.c
@@ -11,21 +11,21 @@
 #include <i2c.h>
 #include <rtc.h>
 
-#define PCF2127_REG_CTRL1      (0x00)
-#define PCF2127_REG_CTRL2      (0x01)
-#define PCF2127_REG_CTRL3      (0x02)
-#define PCF2127_REG_SC         (0x03)  /* datetime */
-#define PCF2127_REG_MN         (0x04)
-#define PCF2127_REG_HR         (0x05)
-#define PCF2127_REG_DM         (0x06)
-#define PCF2127_REG_DW         (0x07)
-#define PCF2127_REG_MO         (0x08)
-#define PCF2127_REG_YR         (0x09)
+#define PCF2127_REG_CTRL1      0x00
+#define PCF2127_REG_CTRL2      0x01
+#define PCF2127_REG_CTRL3      0x02
+#define PCF2127_REG_SC         0x03
+#define PCF2127_REG_MN         0x04
+#define PCF2127_REG_HR         0x05
+#define PCF2127_REG_DM         0x06
+#define PCF2127_REG_DW         0x07
+#define PCF2127_REG_MO         0x08
+#define PCF2127_REG_YR         0x09
 
 static int pcf2127_rtc_set(struct udevice *dev, const struct rtc_time *tm)
 {
        uchar buf[8];
-       int i = 0;
+       int i = 0, ret;
 
        /* start register address */
        buf[i++] = PCF2127_REG_SC;
@@ -44,21 +44,22 @@ static int pcf2127_rtc_set(struct udevice *dev, const 
struct rtc_time *tm)
        buf[i++] = bin2bcd(tm->tm_year % 100);
 
        /* write register's data */
-       if (dm_i2c_write(dev, PCF2127_REG_CTRL1, buf, sizeof(buf)) < 0)
-               return -1;
+       ret = dm_i2c_write(dev, PCF2127_REG_CTRL1, buf, sizeof(buf));
 
-       return 0;
+       return ret;
 }
 
 static int pcf2127_rtc_get(struct udevice *dev, struct rtc_time *tm)
 {
-       int rel = 0;
+       int ret = 0;
        uchar buf[10] = { PCF2127_REG_CTRL1 };
 
-       if (dm_i2c_write(dev, PCF2127_REG_CTRL1, buf, 1) < 0)
-               return -1;
-       if (dm_i2c_read(dev, PCF2127_REG_CTRL1, buf, sizeof(buf)) < 0)
-               return -1;
+       ret = dm_i2c_write(dev, PCF2127_REG_CTRL1, buf, 1);
+       if (ret < 0)
+               return ret;
+       ret = dm_i2c_read(dev, PCF2127_REG_CTRL1, buf, sizeof(buf));
+       if (ret < 0)
+               return ret;
 
        if (buf[PCF2127_REG_CTRL3] & 0x04)
                puts("### Warning: RTC Low Voltage - date/time not reliable\n");
@@ -79,12 +80,13 @@ static int pcf2127_rtc_get(struct udevice *dev, struct 
rtc_time *tm)
              tm->tm_year, tm->tm_mon, tm->tm_mday, tm->tm_wday,
              tm->tm_hour, tm->tm_min, tm->tm_sec);
 
-       return rel;
+       return ret;
 }
 
 static int pcf2127_rtc_reset(struct udevice *dev)
 {
        /*Doing nothing here*/
+
        return 0;
 }
 
-- 
2.11.0.390.gc69c2f50cf-goog

_______________________________________________
U-Boot mailing list
U-Boot@lists.denx.de
http://lists.denx.de/mailman/listinfo/u-boot

Reply via email to