From 6377aa496a0bc40af4f66574c813bb9a807a7e3a Mon Sep 17 00:00:00 2001 From: Peter Meerwald Date: Tue, 19 Aug 2014 23:43:00 +0100 Subject: [PATCH] iio:bma180: Prepare for accelerometer channels with different resolutions allow to specify channels resolution and compute shift assuming 16-bit registers and MSB allocation Signed-off-by: Peter Meerwald Cc: Oleksandr Kravchenko Signed-off-by: Jonathan Cameron --- drivers/iio/accel/bma180.c | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/drivers/iio/accel/bma180.c b/drivers/iio/accel/bma180.c index 933645547f82..f4d280456dd7 100644 --- a/drivers/iio/accel/bma180.c +++ b/drivers/iio/accel/bma180.c @@ -476,7 +476,7 @@ static const struct iio_chan_spec_ext_info bma180_ext_info[] = { { }, }; -#define BMA180_ACC_CHANNEL(_axis) { \ +#define BMA180_ACC_CHANNEL(_axis, _bits) { \ .type = IIO_ACCEL, \ .modified = 1, \ .channel2 = IIO_MOD_##_axis, \ @@ -486,9 +486,9 @@ static const struct iio_chan_spec_ext_info bma180_ext_info[] = { .scan_index = AXIS_##_axis, \ .scan_type = { \ .sign = 's', \ - .realbits = 14, \ + .realbits = _bits, \ .storagebits = 16, \ - .shift = 2, \ + .shift = 16 - _bits, \ }, \ .ext_info = bma180_ext_info, \ } @@ -506,9 +506,9 @@ static const struct iio_chan_spec_ext_info bma180_ext_info[] = { } static const struct iio_chan_spec bma180_channels[] = { - BMA180_ACC_CHANNEL(X), - BMA180_ACC_CHANNEL(Y), - BMA180_ACC_CHANNEL(Z), + BMA180_ACC_CHANNEL(X, 14), + BMA180_ACC_CHANNEL(Y, 14), + BMA180_ACC_CHANNEL(Z, 14), BMA180_TEMP_CHANNEL, IIO_CHAN_SOFT_TIMESTAMP(4), }; -- 2.39.5