summaryrefslogtreecommitdiff
path: root/drivers/staging/iio/meter
diff options
context:
space:
mode:
authorDevendra Naga <devendra.aaru@gmail.com>2015-01-02 09:02:54 (GMT)
committerJonathan Cameron <jic23@kernel.org>2015-02-03 21:03:20 (GMT)
commitabe4e26bb7edb7b36ef99e2e78e86de79b18f922 (patch)
treef794983f30df653eb3e274ce0594495bb7ca914a /drivers/staging/iio/meter
parent178cf7de6f1d3b95407f5a76af249fc924d42576 (diff)
downloadlinux-abe4e26bb7edb7b36ef99e2e78e86de79b18f922.tar.xz
iio: meter: ade7754: add error handling in _reset and _stop_device
This patch adds the error handling for the value returned from ade7754_spi_read_reg_8. With this patch, the following randconfig warnings get fixed automatically. drivers/staging/iio/meter/ade7754.c:222:6: warning: ‘val’ may be used uninitialized in this function [-Wmaybe-uninitialized] drivers/staging/iio/meter/ade7754.c:368:6: warning: ‘val’ may be used uninitialized in this function [-Wmaybe-uninitialized] Signed-off-by: Devendra Naga <devendra.aaru@gmail.com> Signed-off-by: Jonathan Cameron <jic23@kernel.org>
Diffstat (limited to 'drivers/staging/iio/meter')
-rw-r--r--drivers/staging/iio/meter/ade7754.c15
1 files changed, 13 insertions, 2 deletions
diff --git a/drivers/staging/iio/meter/ade7754.c b/drivers/staging/iio/meter/ade7754.c
index 81f6731..746b188 100644
--- a/drivers/staging/iio/meter/ade7754.c
+++ b/drivers/staging/iio/meter/ade7754.c
@@ -216,9 +216,13 @@ error_ret:
static int ade7754_reset(struct device *dev)
{
+ int ret;
u8 val;
- ade7754_spi_read_reg_8(dev, ADE7754_OPMODE, &val);
+ ret = ade7754_spi_read_reg_8(dev, ADE7754_OPMODE, &val);
+ if (ret < 0)
+ return ret;
+
val |= 1 << 6; /* Software Chip Reset */
return ade7754_spi_write_reg_8(dev, ADE7754_OPMODE, val);
}
@@ -362,9 +366,16 @@ error_ret:
/* Power down the device */
static int ade7754_stop_device(struct device *dev)
{
+ int ret;
u8 val;
- ade7754_spi_read_reg_8(dev, ADE7754_OPMODE, &val);
+ ret = ade7754_spi_read_reg_8(dev, ADE7754_OPMODE, &val);
+ if (ret < 0) {
+ dev_err(dev, "unable to power down the device, error: %d",
+ ret);
+ return ret;
+ }
+
val |= 7 << 3; /* ADE7754 powered down */
return ade7754_spi_write_reg_8(dev, ADE7754_OPMODE, val);
}