Merge tag 'iio-for-4.1a' of git://git.kernel.org/pub/scm/linux/kernel/git/jic23/iio...
[cascardo/linux.git] / drivers / staging / iio / meter / ade7759.c
index 7eef8b9..dbceda1 100644 (file)
@@ -215,11 +215,15 @@ error_ret:
 
 static int ade7759_reset(struct device *dev)
 {
+       int ret;
        u16 val;
 
-       ade7759_spi_read_reg_16(dev,
+       ret = ade7759_spi_read_reg_16(dev,
                        ADE7759_MODE,
                        &val);
+       if (ret < 0)
+               return ret;
+
        val |= 1 << 6; /* Software Chip Reset */
        return ade7759_spi_write_reg_16(dev,
                        ADE7759_MODE,
@@ -298,11 +302,18 @@ error_ret:
 /* Power down the device */
 static int ade7759_stop_device(struct device *dev)
 {
+       int ret;
        u16 val;
 
-       ade7759_spi_read_reg_16(dev,
+       ret = ade7759_spi_read_reg_16(dev,
                        ADE7759_MODE,
                        &val);
+       if (ret < 0) {
+               dev_err(dev, "unable to power down the device, error: %d\n",
+                       ret);
+               return ret;
+       }
+
        val |= 1 << 4;  /* AD converters can be turned off */
 
        return ade7759_spi_write_reg_16(dev, ADE7759_MODE, val);