Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 69c72ec9 authored by Sandhya Bankar's avatar Sandhya Bankar Committed by Jonathan Cameron
Browse files

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



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>
parent 67e17300
Loading
Loading
Loading
Loading
+9 −7
Original line number Diff line number Diff line
@@ -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);
	const struct i2c_client *client = data->client;
	const struct ak_def *def = data->def;
	__le16 rval;
	u16 buff;
	int ret;

@@ -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(
			client, def->data_regs[index],
			sizeof(buff), (u8*)&buff);
			sizeof(rval), (u8*)&rval);
	if (ret < 0)
		goto exit;

@@ -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);

	/* 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);
	return IIO_VAL_INT;

@@ -813,6 +814,7 @@ static void ak8975_fill_buffer(struct iio_dev *indio_dev)
	const struct ak_def *def = data->def;
	int ret;
	s16 buff[8]; /* 3 x 16 bits axis values + 1 aligned 64 bits timestamp */
	__le16 fval[3];

	mutex_lock(&data->lock);

@@ -826,17 +828,17 @@ static void ak8975_fill_buffer(struct iio_dev *indio_dev)
	 */
	ret = i2c_smbus_read_i2c_block_data_or_emulated(client,
							def->data_regs[0],
							3 * sizeof(buff[0]),
							(u8 *)buff);
							3 * sizeof(fval[0]),
							(u8 *)fval);
	if (ret < 0)
		goto unlock;

	mutex_unlock(&data->lock);

	/* Clamp to valid range. */
	buff[0] = clamp_t(s16, le16_to_cpu(buff[0]), -def->range, def->range);
	buff[1] = clamp_t(s16, le16_to_cpu(buff[1]), -def->range, def->range);
	buff[2] = clamp_t(s16, le16_to_cpu(buff[2]), -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(fval[1]), -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_get_time_ns(indio_dev));