summaryrefslogtreecommitdiff
path: root/drivers/iio/imu/adis_buffer.c
diff options
context:
space:
mode:
authorLars-Peter Clausen <lars@metafoo.de>2012-11-20 17:36:00 +0400
committerJonathan Cameron <jic23@kernel.org>2012-11-20 23:51:29 +0400
commit57a1228a06b7a5939a8b0078a92b44fa30855bcb (patch)
treeb0cfaf71667f2026fc1d1e7d3ede704731e7d7b6 /drivers/iio/imu/adis_buffer.c
parent78026a6fde8f7b0ca77c059da11f476d69dfde3b (diff)
downloadlinux-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 a91b4cbdc73a..785713349e9f 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);
}