summaryrefslogtreecommitdiff
path: root/drivers/iio/imu/adis_buffer.c
diff options
context:
space:
mode:
authorLars-Peter Clausen <lars@metafoo.de>2012-11-20 13:36:00 (GMT)
committerJonathan Cameron <jic23@kernel.org>2012-11-20 19:51:29 (GMT)
commit57a1228a06b7a5939a8b0078a92b44fa30855bcb (patch)
treeb0cfaf71667f2026fc1d1e7d3ede704731e7d7b6 /drivers/iio/imu/adis_buffer.c
parent78026a6fde8f7b0ca77c059da11f476d69dfde3b (diff)
downloadlinux-fsl-qoriq-57a1228a06b7a5939a8b0078a92b44fa30855bcb.tar.xz
iio:imu:adis: Add support for 32bit registers
Some of the newer generation devices from the ADIS16XXX family have 32bit wide register which spans two 16bit wide registers. This patch adds support for reading and writing a 32bit wide register. Signed-off-by: Lars-Peter Clausen <lars@metafoo.de> Signed-off-by: Jonathan Cameron <jic23@kernel.org>
Diffstat (limited to 'drivers/iio/imu/adis_buffer.c')
-rw-r--r--drivers/iio/imu/adis_buffer.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/drivers/iio/imu/adis_buffer.c b/drivers/iio/imu/adis_buffer.c
index a91b4cb..7857133 100644
--- a/drivers/iio/imu/adis_buffer.c
+++ b/drivers/iio/imu/adis_buffer.c
@@ -64,6 +64,8 @@ int adis_update_scan_mode(struct iio_dev *indio_dev,
for (i = 0; i < indio_dev->num_channels; i++, chan++) {
if (!test_bit(chan->scan_index, scan_mask))
continue;
+ if (chan->scan_type.storagebits == 32)
+ *tx++ = cpu_to_be16((chan->address + 2) << 8);
*tx++ = cpu_to_be16(chan->address << 8);
}