Commit 3c80372d authored by Lars-Peter Clausen's avatar Lars-Peter Clausen Committed by Jonathan Cameron
Browse files

staging:iio:adis16080: be16 cleanups



The sample buffer contains big endian 16bit words. So use the be16 datatype for
the buffer and use the proper helper functions for endianness conversion instead
of openconding it.

Signed-off-by: default avatarLars-Peter Clausen <lars@metafoo.de>
Signed-off-by: default avatarJonathan Cameron <jic23@kernel.org>
parent 9ab82f07
Loading
Loading
Loading
Loading
+3 −4
Original line number Diff line number Diff line
@@ -39,7 +39,7 @@ struct adis16080_state {
	struct spi_device		*us;
	struct mutex			buf_lock;

	u8 buf[2] ____cacheline_aligned;
	__be16 buf ____cacheline_aligned;
};

static int adis16080_read_sample(struct iio_dev *indio_dev,
@@ -60,8 +60,7 @@ static int adis16080_read_sample(struct iio_dev *indio_dev,
	};

	mutex_lock(&st->buf_lock);
	st->buf[0] = addr >> 8;
	st->buf[1] = addr;
	st->buf = cpu_to_be16(addr | ADIS16080_DIN_WRITE);

	spi_message_init(&m);
	spi_message_add_tail(&t[0], &m);
@@ -69,7 +68,7 @@ static int adis16080_read_sample(struct iio_dev *indio_dev,

	ret = spi_sync(st->us, &m);
	if (ret == 0)
		*val = sign_extend32(((st->buf[0] & 0xF) << 8) | st->buf[1], 11);
		*val = sign_extend32(be16_to_cpu(st->buf), 11);
	mutex_unlock(&st->buf_lock);

	return ret;