]> git.kernelconcepts.de Git - karo-tx-linux.git/commitdiff
iio: Fix endianness issue in ak8975_read_axis()
authorPeter Meerwald <pmeerw@pmeerw.net>
Tue, 6 May 2014 08:53:00 +0000 (09:53 +0100)
committerJonathan Cameron <jic23@kernel.org>
Sat, 7 Jun 2014 10:50:34 +0000 (11:50 +0100)
i2c_smbus_read_word_data() does host endian conversion already,
no need for le16_to_cpu()

Signed-off-by: Peter Meerwald <pmeerw@pmeerw.net>
Signed-off-by: Jonathan Cameron <jic23@kernel.org>
Cc: Stable@vger.kernel.org
drivers/iio/magnetometer/ak8975.c

index 74866d1efd1b8a646d2add6f5b5000cfbc52b925..2a524acabec8d5f804186b0ac5d72db7a1c6a4a9 100644 (file)
@@ -352,8 +352,6 @@ static int ak8975_read_axis(struct iio_dev *indio_dev, int index, int *val)
 {
        struct ak8975_data *data = iio_priv(indio_dev);
        struct i2c_client *client = data->client;
-       u16 meas_reg;
-       s16 raw;
        int ret;
 
        mutex_lock(&data->lock);
@@ -401,16 +399,11 @@ static int ak8975_read_axis(struct iio_dev *indio_dev, int index, int *val)
                dev_err(&client->dev, "Read axis data fails\n");
                goto exit;
        }
-       meas_reg = ret;
 
        mutex_unlock(&data->lock);
 
-       /* Endian conversion of the measured values. */
-       raw = (s16) (le16_to_cpu(meas_reg));
-
        /* Clamp to valid range. */
-       raw = clamp_t(s16, raw, -4096, 4095);
-       *val = raw;
+       *val = clamp_t(s16, ret, -4096, 4095);
        return IIO_VAL_INT;
 
 exit: