Commit af71b274 authored by Sandhya Bankar's avatar Sandhya Bankar Committed by Greg Kroah-Hartman

drivers: iio: magnetometer: Fix sparse endianness warnings cast to restricted __be16

commit 69c72ec9 upstream.

Fix the following sparse endianness warnings:

drivers/iio/magnetometer/ak8975.c:716:16: warning: cast to restricted __le16
drivers/iio/magnetometer/ak8975.c:837:19: warning: cast to restricted __le16
drivers/iio/magnetometer/ak8975.c:838:19: warning: cast to restricted __le16
drivers/iio/magnetometer/ak8975.c:839:19: warning: cast to restricted __le16
Signed-off-by: default avatarSandhya Bankar <bankarsandhya512@gmail.com>
Signed-off-by: default avatarJonathan Cameron <jic23@kernel.org>
Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
parent d5b369b5
...@@ -690,6 +690,7 @@ static int ak8975_read_axis(struct iio_dev *indio_dev, int index, int *val) ...@@ -690,6 +690,7 @@ static int ak8975_read_axis(struct iio_dev *indio_dev, int index, int *val)
struct ak8975_data *data = iio_priv(indio_dev); struct ak8975_data *data = iio_priv(indio_dev);
const struct i2c_client *client = data->client; const struct i2c_client *client = data->client;
const struct ak_def *def = data->def; const struct ak_def *def = data->def;
__le16 rval;
u16 buff; u16 buff;
int ret; int ret;
...@@ -703,7 +704,7 @@ static int ak8975_read_axis(struct iio_dev *indio_dev, int index, int *val) ...@@ -703,7 +704,7 @@ static int ak8975_read_axis(struct iio_dev *indio_dev, int index, int *val)
ret = i2c_smbus_read_i2c_block_data_or_emulated( ret = i2c_smbus_read_i2c_block_data_or_emulated(
client, def->data_regs[index], client, def->data_regs[index],
sizeof(buff), (u8*)&buff); sizeof(rval), (u8*)&rval);
if (ret < 0) if (ret < 0)
goto exit; goto exit;
...@@ -713,7 +714,7 @@ static int ak8975_read_axis(struct iio_dev *indio_dev, int index, int *val) ...@@ -713,7 +714,7 @@ static int ak8975_read_axis(struct iio_dev *indio_dev, int index, int *val)
pm_runtime_put_autosuspend(&data->client->dev); pm_runtime_put_autosuspend(&data->client->dev);
/* Swap bytes and convert to valid range. */ /* Swap bytes and convert to valid range. */
buff = le16_to_cpu(buff); buff = le16_to_cpu(rval);
*val = clamp_t(s16, buff, -def->range, def->range); *val = clamp_t(s16, buff, -def->range, def->range);
return IIO_VAL_INT; return IIO_VAL_INT;
...@@ -813,6 +814,7 @@ static void ak8975_fill_buffer(struct iio_dev *indio_dev) ...@@ -813,6 +814,7 @@ static void ak8975_fill_buffer(struct iio_dev *indio_dev)
const struct ak_def *def = data->def; const struct ak_def *def = data->def;
int ret; int ret;
s16 buff[8]; /* 3 x 16 bits axis values + 1 aligned 64 bits timestamp */ s16 buff[8]; /* 3 x 16 bits axis values + 1 aligned 64 bits timestamp */
__le16 fval[3];
mutex_lock(&data->lock); mutex_lock(&data->lock);
...@@ -826,17 +828,17 @@ static void ak8975_fill_buffer(struct iio_dev *indio_dev) ...@@ -826,17 +828,17 @@ static void ak8975_fill_buffer(struct iio_dev *indio_dev)
*/ */
ret = i2c_smbus_read_i2c_block_data_or_emulated(client, ret = i2c_smbus_read_i2c_block_data_or_emulated(client,
def->data_regs[0], def->data_regs[0],
3 * sizeof(buff[0]), 3 * sizeof(fval[0]),
(u8 *)buff); (u8 *)fval);
if (ret < 0) if (ret < 0)
goto unlock; goto unlock;
mutex_unlock(&data->lock); mutex_unlock(&data->lock);
/* Clamp to valid range. */ /* Clamp to valid range. */
buff[0] = clamp_t(s16, le16_to_cpu(buff[0]), -def->range, def->range); buff[0] = clamp_t(s16, le16_to_cpu(fval[0]), -def->range, def->range);
buff[1] = clamp_t(s16, le16_to_cpu(buff[1]), -def->range, def->range); buff[1] = clamp_t(s16, le16_to_cpu(fval[1]), -def->range, def->range);
buff[2] = clamp_t(s16, le16_to_cpu(buff[2]), -def->range, def->range); buff[2] = clamp_t(s16, le16_to_cpu(fval[2]), -def->range, def->range);
iio_push_to_buffers_with_timestamp(indio_dev, buff, iio_push_to_buffers_with_timestamp(indio_dev, buff,
iio_get_time_ns(indio_dev)); iio_get_time_ns(indio_dev));
......
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