diff options
| -rw-r--r-- | drivers/iio/accel/kxsd9.c | 4 | ||||
| -rw-r--r-- | drivers/iio/adc/ad7266.c | 7 | ||||
| -rw-r--r-- | drivers/iio/imu/inv_mpu6050/inv_mpu_acpi.c | 5 | ||||
| -rw-r--r-- | drivers/staging/iio/accel/sca3000_core.c | 2 | ||||
| -rw-r--r-- | drivers/staging/iio/adc/ad7606_spi.c | 2 | ||||
| -rw-r--r-- | drivers/staging/iio/impedance-analyzer/ad5933.c | 6 |
6 files changed, 15 insertions, 11 deletions
diff --git a/drivers/iio/accel/kxsd9.c b/drivers/iio/accel/kxsd9.c index 923f56598d4b..3a9f106787d2 100644 --- a/drivers/iio/accel/kxsd9.c +++ b/drivers/iio/accel/kxsd9.c | |||
| @@ -81,7 +81,7 @@ static int kxsd9_write_scale(struct iio_dev *indio_dev, int micro) | |||
| 81 | 81 | ||
| 82 | mutex_lock(&st->buf_lock); | 82 | mutex_lock(&st->buf_lock); |
| 83 | ret = spi_w8r8(st->us, KXSD9_READ(KXSD9_REG_CTRL_C)); | 83 | ret = spi_w8r8(st->us, KXSD9_READ(KXSD9_REG_CTRL_C)); |
| 84 | if (ret) | 84 | if (ret < 0) |
| 85 | goto error_ret; | 85 | goto error_ret; |
| 86 | st->tx[0] = KXSD9_WRITE(KXSD9_REG_CTRL_C); | 86 | st->tx[0] = KXSD9_WRITE(KXSD9_REG_CTRL_C); |
| 87 | st->tx[1] = (ret & ~KXSD9_FS_MASK) | i; | 87 | st->tx[1] = (ret & ~KXSD9_FS_MASK) | i; |
| @@ -163,7 +163,7 @@ static int kxsd9_read_raw(struct iio_dev *indio_dev, | |||
| 163 | break; | 163 | break; |
| 164 | case IIO_CHAN_INFO_SCALE: | 164 | case IIO_CHAN_INFO_SCALE: |
| 165 | ret = spi_w8r8(st->us, KXSD9_READ(KXSD9_REG_CTRL_C)); | 165 | ret = spi_w8r8(st->us, KXSD9_READ(KXSD9_REG_CTRL_C)); |
| 166 | if (ret) | 166 | if (ret < 0) |
| 167 | goto error_ret; | 167 | goto error_ret; |
| 168 | *val2 = kxsd9_micro_scales[ret & KXSD9_FS_MASK]; | 168 | *val2 = kxsd9_micro_scales[ret & KXSD9_FS_MASK]; |
| 169 | ret = IIO_VAL_INT_PLUS_MICRO; | 169 | ret = IIO_VAL_INT_PLUS_MICRO; |
diff --git a/drivers/iio/adc/ad7266.c b/drivers/iio/adc/ad7266.c index 21e19b60e2b9..2123f0ac2e2a 100644 --- a/drivers/iio/adc/ad7266.c +++ b/drivers/iio/adc/ad7266.c | |||
| @@ -396,8 +396,8 @@ static int ad7266_probe(struct spi_device *spi) | |||
| 396 | 396 | ||
| 397 | st = iio_priv(indio_dev); | 397 | st = iio_priv(indio_dev); |
| 398 | 398 | ||
| 399 | st->reg = devm_regulator_get(&spi->dev, "vref"); | 399 | st->reg = devm_regulator_get_optional(&spi->dev, "vref"); |
| 400 | if (!IS_ERR_OR_NULL(st->reg)) { | 400 | if (!IS_ERR(st->reg)) { |
| 401 | ret = regulator_enable(st->reg); | 401 | ret = regulator_enable(st->reg); |
| 402 | if (ret) | 402 | if (ret) |
| 403 | return ret; | 403 | return ret; |
| @@ -408,6 +408,9 @@ static int ad7266_probe(struct spi_device *spi) | |||
| 408 | 408 | ||
| 409 | st->vref_mv = ret / 1000; | 409 | st->vref_mv = ret / 1000; |
| 410 | } else { | 410 | } else { |
| 411 | /* Any other error indicates that the regulator does exist */ | ||
| 412 | if (PTR_ERR(st->reg) != -ENODEV) | ||
| 413 | return PTR_ERR(st->reg); | ||
| 411 | /* Use internal reference */ | 414 | /* Use internal reference */ |
| 412 | st->vref_mv = 2500; | 415 | st->vref_mv = 2500; |
| 413 | } | 416 | } |
diff --git a/drivers/iio/imu/inv_mpu6050/inv_mpu_acpi.c b/drivers/iio/imu/inv_mpu6050/inv_mpu_acpi.c index f62b8bd9ad7e..dd6fc6d21f9d 100644 --- a/drivers/iio/imu/inv_mpu6050/inv_mpu_acpi.c +++ b/drivers/iio/imu/inv_mpu6050/inv_mpu_acpi.c | |||
| @@ -56,6 +56,7 @@ static int asus_acpi_get_sensor_info(struct acpi_device *adev, | |||
| 56 | int i; | 56 | int i; |
| 57 | acpi_status status; | 57 | acpi_status status; |
| 58 | union acpi_object *cpm; | 58 | union acpi_object *cpm; |
| 59 | int ret; | ||
| 59 | 60 | ||
| 60 | status = acpi_evaluate_object(adev->handle, "CNF0", NULL, &buffer); | 61 | status = acpi_evaluate_object(adev->handle, "CNF0", NULL, &buffer); |
| 61 | if (ACPI_FAILURE(status)) | 62 | if (ACPI_FAILURE(status)) |
| @@ -82,10 +83,10 @@ static int asus_acpi_get_sensor_info(struct acpi_device *adev, | |||
| 82 | } | 83 | } |
| 83 | } | 84 | } |
| 84 | } | 85 | } |
| 85 | 86 | ret = cpm->package.count; | |
| 86 | kfree(buffer.pointer); | 87 | kfree(buffer.pointer); |
| 87 | 88 | ||
| 88 | return cpm->package.count; | 89 | return ret; |
| 89 | } | 90 | } |
| 90 | 91 | ||
| 91 | static int acpi_i2c_check_resource(struct acpi_resource *ares, void *data) | 92 | static int acpi_i2c_check_resource(struct acpi_resource *ares, void *data) |
diff --git a/drivers/staging/iio/accel/sca3000_core.c b/drivers/staging/iio/accel/sca3000_core.c index a8f533af9eca..ec12181822e6 100644 --- a/drivers/staging/iio/accel/sca3000_core.c +++ b/drivers/staging/iio/accel/sca3000_core.c | |||
| @@ -594,7 +594,7 @@ static ssize_t sca3000_read_frequency(struct device *dev, | |||
| 594 | goto error_ret_mut; | 594 | goto error_ret_mut; |
| 595 | ret = sca3000_read_ctrl_reg(st, SCA3000_REG_CTRL_SEL_OUT_CTRL); | 595 | ret = sca3000_read_ctrl_reg(st, SCA3000_REG_CTRL_SEL_OUT_CTRL); |
| 596 | mutex_unlock(&st->lock); | 596 | mutex_unlock(&st->lock); |
| 597 | if (ret) | 597 | if (ret < 0) |
| 598 | goto error_ret; | 598 | goto error_ret; |
| 599 | val = ret; | 599 | val = ret; |
| 600 | if (base_freq > 0) | 600 | if (base_freq > 0) |
diff --git a/drivers/staging/iio/adc/ad7606_spi.c b/drivers/staging/iio/adc/ad7606_spi.c index 825da0769936..9587fa86dc69 100644 --- a/drivers/staging/iio/adc/ad7606_spi.c +++ b/drivers/staging/iio/adc/ad7606_spi.c | |||
| @@ -21,7 +21,7 @@ static int ad7606_spi_read_block(struct device *dev, | |||
| 21 | { | 21 | { |
| 22 | struct spi_device *spi = to_spi_device(dev); | 22 | struct spi_device *spi = to_spi_device(dev); |
| 23 | int i, ret; | 23 | int i, ret; |
| 24 | unsigned short *data; | 24 | unsigned short *data = buf; |
| 25 | __be16 *bdata = buf; | 25 | __be16 *bdata = buf; |
| 26 | 26 | ||
| 27 | ret = spi_read(spi, buf, count * 2); | 27 | ret = spi_read(spi, buf, count * 2); |
diff --git a/drivers/staging/iio/impedance-analyzer/ad5933.c b/drivers/staging/iio/impedance-analyzer/ad5933.c index 9f43976f4ef2..170ac980abcb 100644 --- a/drivers/staging/iio/impedance-analyzer/ad5933.c +++ b/drivers/staging/iio/impedance-analyzer/ad5933.c | |||
| @@ -444,10 +444,10 @@ static ssize_t ad5933_store(struct device *dev, | |||
| 444 | st->settling_cycles = val; | 444 | st->settling_cycles = val; |
| 445 | 445 | ||
| 446 | /* 2x, 4x handling, see datasheet */ | 446 | /* 2x, 4x handling, see datasheet */ |
| 447 | if (val > 511) | 447 | if (val > 1022) |
| 448 | val = (val >> 1) | (1 << 9); | ||
| 449 | else if (val > 1022) | ||
| 450 | val = (val >> 2) | (3 << 9); | 448 | val = (val >> 2) | (3 << 9); |
| 449 | else if (val > 511) | ||
| 450 | val = (val >> 1) | (1 << 9); | ||
| 451 | 451 | ||
| 452 | dat = cpu_to_be16(val); | 452 | dat = cpu_to_be16(val); |
| 453 | ret = ad5933_i2c_write(st->client, | 453 | ret = ad5933_i2c_write(st->client, |
