Commit fe4b7f91 authored by Alexandru Ardelean's avatar Alexandru Ardelean Committed by Jonathan Cameron

iio: imu: adis16400: check ret val for non-zero vs less-than-zero

The ADIS library functions return zero on success, and negative values for
error. Positive values aren't returned, but we only care about the success
value (which is zero).

This change is mostly needed so that the compiler won't make any inferences
about some about values being potentially un-initialized. This only
triggers after making some functions inline, because the compiler can
better follow return paths.
Signed-off-by: default avatarAlexandru Ardelean <alexandru.ardelean@analog.com>
Signed-off-by: default avatarJonathan Cameron <Jonathan.Cameron@huawei.com>
parent 26ba6db6
...@@ -217,16 +217,16 @@ static ssize_t adis16400_show_serial_number(struct file *file, ...@@ -217,16 +217,16 @@ static ssize_t adis16400_show_serial_number(struct file *file,
int ret; int ret;
ret = adis_read_reg_16(&st->adis, ADIS16334_LOT_ID1, &lot1); ret = adis_read_reg_16(&st->adis, ADIS16334_LOT_ID1, &lot1);
if (ret < 0) if (ret)
return ret; return ret;
ret = adis_read_reg_16(&st->adis, ADIS16334_LOT_ID2, &lot2); ret = adis_read_reg_16(&st->adis, ADIS16334_LOT_ID2, &lot2);
if (ret < 0) if (ret)
return ret; return ret;
ret = adis_read_reg_16(&st->adis, ADIS16334_SERIAL_NUMBER, ret = adis_read_reg_16(&st->adis, ADIS16334_SERIAL_NUMBER,
&serial_number); &serial_number);
if (ret < 0) if (ret)
return ret; return ret;
len = snprintf(buf, sizeof(buf), "%.4x-%.4x-%.4x\n", lot1, lot2, len = snprintf(buf, sizeof(buf), "%.4x-%.4x-%.4x\n", lot1, lot2,
...@@ -249,7 +249,7 @@ static int adis16400_show_product_id(void *arg, u64 *val) ...@@ -249,7 +249,7 @@ static int adis16400_show_product_id(void *arg, u64 *val)
int ret; int ret;
ret = adis_read_reg_16(&st->adis, ADIS16400_PRODUCT_ID, &prod_id); ret = adis_read_reg_16(&st->adis, ADIS16400_PRODUCT_ID, &prod_id);
if (ret < 0) if (ret)
return ret; return ret;
*val = prod_id; *val = prod_id;
...@@ -266,7 +266,7 @@ static int adis16400_show_flash_count(void *arg, u64 *val) ...@@ -266,7 +266,7 @@ static int adis16400_show_flash_count(void *arg, u64 *val)
int ret; int ret;
ret = adis_read_reg_16(&st->adis, ADIS16400_FLASH_CNT, &flash_count); ret = adis_read_reg_16(&st->adis, ADIS16400_FLASH_CNT, &flash_count);
if (ret < 0) if (ret)
return ret; return ret;
*val = flash_count; *val = flash_count;
...@@ -327,7 +327,7 @@ static int adis16334_get_freq(struct adis16400_state *st) ...@@ -327,7 +327,7 @@ static int adis16334_get_freq(struct adis16400_state *st)
uint16_t t; uint16_t t;
ret = adis_read_reg_16(&st->adis, ADIS16400_SMPL_PRD, &t); ret = adis_read_reg_16(&st->adis, ADIS16400_SMPL_PRD, &t);
if (ret < 0) if (ret)
return ret; return ret;
t >>= ADIS16334_RATE_DIV_SHIFT; t >>= ADIS16334_RATE_DIV_SHIFT;
...@@ -359,7 +359,7 @@ static int adis16400_get_freq(struct adis16400_state *st) ...@@ -359,7 +359,7 @@ static int adis16400_get_freq(struct adis16400_state *st)
uint16_t t; uint16_t t;
ret = adis_read_reg_16(&st->adis, ADIS16400_SMPL_PRD, &t); ret = adis_read_reg_16(&st->adis, ADIS16400_SMPL_PRD, &t);
if (ret < 0) if (ret)
return ret; return ret;
sps = (t & ADIS16400_SMPL_PRD_TIME_BASE) ? 52851 : 1638404; sps = (t & ADIS16400_SMPL_PRD_TIME_BASE) ? 52851 : 1638404;
...@@ -416,7 +416,7 @@ static int adis16400_set_filter(struct iio_dev *indio_dev, int sps, int val) ...@@ -416,7 +416,7 @@ static int adis16400_set_filter(struct iio_dev *indio_dev, int sps, int val)
} }
ret = adis_read_reg_16(&st->adis, ADIS16400_SENS_AVG, &val16); ret = adis_read_reg_16(&st->adis, ADIS16400_SENS_AVG, &val16);
if (ret < 0) if (ret)
return ret; return ret;
ret = adis_write_reg_16(&st->adis, ADIS16400_SENS_AVG, ret = adis_write_reg_16(&st->adis, ADIS16400_SENS_AVG,
...@@ -615,7 +615,7 @@ static int adis16400_read_raw(struct iio_dev *indio_dev, ...@@ -615,7 +615,7 @@ static int adis16400_read_raw(struct iio_dev *indio_dev,
ret = adis_read_reg_16(&st->adis, ret = adis_read_reg_16(&st->adis,
ADIS16400_SENS_AVG, ADIS16400_SENS_AVG,
&val16); &val16);
if (ret < 0) { if (ret) {
mutex_unlock(&indio_dev->mlock); mutex_unlock(&indio_dev->mlock);
return ret; return ret;
} }
...@@ -626,12 +626,12 @@ static int adis16400_read_raw(struct iio_dev *indio_dev, ...@@ -626,12 +626,12 @@ static int adis16400_read_raw(struct iio_dev *indio_dev,
*val2 = (ret % 1000) * 1000; *val2 = (ret % 1000) * 1000;
} }
mutex_unlock(&indio_dev->mlock); mutex_unlock(&indio_dev->mlock);
if (ret < 0) if (ret)
return ret; return ret;
return IIO_VAL_INT_PLUS_MICRO; return IIO_VAL_INT_PLUS_MICRO;
case IIO_CHAN_INFO_SAMP_FREQ: case IIO_CHAN_INFO_SAMP_FREQ:
ret = st->variant->get_freq(st); ret = st->variant->get_freq(st);
if (ret < 0) if (ret)
return ret; return ret;
*val = ret / 1000; *val = ret / 1000;
*val2 = (ret % 1000) * 1000; *val2 = (ret % 1000) * 1000;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment