diff options
author | Devendra Naga <devendra.aaru@gmail.com> | 2015-01-02 04:02:54 -0500 |
---|---|---|
committer | Jonathan Cameron <jic23@kernel.org> | 2015-02-03 21:03:20 +0000 |
commit | abe4e26bb7edb7b36ef99e2e78e86de79b18f922 (patch) | |
tree | f794983f30df653eb3e274ce0594495bb7ca914a /drivers/staging/iio | |
parent | 178cf7de6f1d3b95407f5a76af249fc924d42576 (diff) | |
download | op-kernel-dev-abe4e26bb7edb7b36ef99e2e78e86de79b18f922.zip op-kernel-dev-abe4e26bb7edb7b36ef99e2e78e86de79b18f922.tar.gz |
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')
-rw-r--r-- | drivers/staging/iio/meter/ade7754.c | 15 |
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); } |