]> rtime.felk.cvut.cz Git - sojka/nv-tegra/linux-3.10.git/commitdiff
iio: adc: report error on conversion fail properly
authorVenkat Reddy Talla <vreddytalla@nvidia.com>
Fri, 15 May 2015 06:23:45 +0000 (11:53 +0530)
committerLaxman Dewangan <ldewangan@nvidia.com>
Fri, 22 May 2015 05:40:59 +0000 (22:40 -0700)
report error value from ads1015 driver on start conversion
fail properly.
Modify debug messages string to know reason on failure case.

Bug 200103698

Change-Id: I0116e69d1490d478012696e25bc42752e53256d0
Signed-off-by: Venkat Reddy Talla <vreddytalla@nvidia.com>
Reviewed-on: http://git-master/r/743116
(cherry picked from commit 9c140d8bba3b0f78e36573b4877c8ee601700946)
Reviewed-on: http://git-master/r/744710
Reviewed-by: Automatic_Commit_Validation_User
Reviewed-by: Laxman Dewangan <ldewangan@nvidia.com>
drivers/staging/iio/adc/ads1015.c

index f9515d31822fc8ca387c457f6a37005c483b715f..47a14800c941b51dbaea3ed3d2e79299c0b3291b 100644 (file)
@@ -171,7 +171,7 @@ static int ads1015_start_conversion(struct ads1015 *adc, int chan)
        reg_val |= (channel_mux_val << ADS1015_INPUT_MULTIPLEXER_SHIFT);
        ret = ads1015_write(adc->rmap, ADS1015_CONFIG_REG, reg_val);
        if (ret < 0) {
-               dev_err(adc->dev, "Config reg write failed %d\n", ret);
+               dev_err(adc->dev, "Config Reg Write failed %d\n", ret);
                return ret;
        }
 
@@ -298,7 +298,7 @@ static int ads1015_read_raw(struct iio_dev *iodev,
        struct iio_chan_spec const *chan, int *val, int *val2, long mask)
 {
        struct ads1015 *adc = iio_priv(iodev);
-       int ret = 0;
+       int ret = 0, cs_ret = 0;
        u16 reg_val = 0;
        int rval;
 
@@ -340,12 +340,11 @@ static int ads1015_read_raw(struct iio_dev *iodev,
 done:
        /* if device is enabled in cotinuous mode set it here again */
        if (adc->adc_prop.is_continuous_mode) {
-               ret = ads1015_write(adc->rmap, ADS1015_CONFIG_REG, adc->config);
-               if (ret < 0) {
-                       dev_err(adc->dev, "CONFIG reg write failed %d\n", ret);
-                       mutex_unlock(&iodev->mlock);
-                       return ret;
-               }
+               cs_ret = ads1015_write(adc->rmap,
+                                       ADS1015_CONFIG_REG, adc->config);
+               if (cs_ret < 0)
+                       dev_err(adc->dev,
+                               "CONFIG CS mode write failed %d\n", cs_ret);
        }
        mutex_unlock(&iodev->mlock);
        if (!ret)