staging:iio:cdc:ad7150: use swapped reads/writes for i2c rather than open coding
authorJonathan Cameron <Jonathan.Cameron@huawei.com>
Sun, 14 Mar 2021 18:14:48 +0000 (18:14 +0000)
committerJonathan Cameron <Jonathan.Cameron@huawei.com>
Wed, 7 Apr 2021 07:36:35 +0000 (08:36 +0100)
Reduces boilerplate and chances of getting the error handling wrong.
No functional change.

Signed-off-by: Jonathan Cameron <Jonathan.Cameron@huawei.com>
Reviewed-by: Alexandru Ardelean <alexandru.ardelean@analog.com>
Reviewed-by: Barry Song <song.bao.hua@hisilicon>
Link: https://lore.kernel.org/r/20210314181511.531414-2-jic23@kernel.org
drivers/staging/iio/cdc/ad7150.c

index 48132ab..c3ed88c 100644 (file)
@@ -109,18 +109,20 @@ static int ad7150_read_raw(struct iio_dev *indio_dev,
 
        switch (mask) {
        case IIO_CHAN_INFO_RAW:
-               ret = i2c_smbus_read_word_data(chip->client,
-                                              ad7150_addresses[channel][0]);
+               ret = i2c_smbus_read_word_swapped(chip->client,
+                                                 ad7150_addresses[channel][0]);
                if (ret < 0)
                        return ret;
-               *val = swab16(ret);
+               *val = ret;
+
                return IIO_VAL_INT;
        case IIO_CHAN_INFO_AVERAGE_RAW:
-               ret = i2c_smbus_read_word_data(chip->client,
-                                              ad7150_addresses[channel][1]);
+               ret = i2c_smbus_read_word_swapped(chip->client,
+                                                 ad7150_addresses[channel][1]);
                if (ret < 0)
                        return ret;
-               *val = swab16(ret);
+               *val = ret;
+
                return IIO_VAL_INT;
        default:
                return -EINVAL;
@@ -188,9 +190,9 @@ static int ad7150_write_event_params(struct iio_dev *indio_dev,
                /* Note completely different from the adaptive versions */
        case IIO_EV_TYPE_THRESH:
                value = chip->threshold[rising][chan];
-               return i2c_smbus_write_word_data(chip->client,
-                                                ad7150_addresses[chan][3],
-                                                swab16(value));
+               return i2c_smbus_write_word_swapped(chip->client,
+                                                   ad7150_addresses[chan][3],
+                                                   value);
        case IIO_EV_TYPE_MAG_ADAPTIVE:
                sens = chip->mag_sensitivity[rising][chan];
                timeout = chip->mag_timeout[rising][chan];