diff options
author | Peter Meerwald <pmeerw@pmeerw.net> | 2014-10-01 21:37:00 +0100 |
---|---|---|
committer | Jonathan Cameron <jic23@kernel.org> | 2014-02-08 11:31:50 +0000 |
commit | 5585215b6daabf898b4d40f33d1b8c1d41e85018 (patch) | |
tree | ea2bbb80a5847400272691b94902a1770c17def0 /drivers/iio/accel/bma180.c | |
parent | c76782d151dab7ecfdcdf9a01561c2d61d9b490f (diff) | |
download | op-kernel-dev-5585215b6daabf898b4d40f33d1b8c1d41e85018.zip op-kernel-dev-5585215b6daabf898b4d40f33d1b8c1d41e85018.tar.gz |
iio:accel:bma180: Use modifier instead of index in channel specification
This driver was not complying with the ABI and the purpose of this patch
is to bring it inline so that userspace will correctly identify the channels.
Should use channel modifiers (X/Y/Z), not channel indices
timestamp channel has scan index 3, not 4
Signed-off-by: Peter Meerwald <pmeerw@pmeerw.net>
Cc: Kravchenko Oleksandr <x0199363@ti.com>
Cc: Stable@vger.kernel.org
Signed-off-by: Jonathan Cameron <jic23@kernel.org>
Diffstat (limited to 'drivers/iio/accel/bma180.c')
-rw-r--r-- | drivers/iio/accel/bma180.c | 16 |
1 files changed, 8 insertions, 8 deletions
diff --git a/drivers/iio/accel/bma180.c b/drivers/iio/accel/bma180.c index 3bec922..bfec313 100644 --- a/drivers/iio/accel/bma180.c +++ b/drivers/iio/accel/bma180.c @@ -447,14 +447,14 @@ static const struct iio_chan_spec_ext_info bma180_ext_info[] = { { }, }; -#define BMA180_CHANNEL(_index) { \ +#define BMA180_CHANNEL(_axis) { \ .type = IIO_ACCEL, \ - .indexed = 1, \ - .channel = (_index), \ + .modified = 1, \ + .channel2 = IIO_MOD_##_axis, \ .info_mask_separate = BIT(IIO_CHAN_INFO_RAW) | \ BIT(IIO_CHAN_INFO_LOW_PASS_FILTER_3DB_FREQUENCY), \ .info_mask_shared_by_type = BIT(IIO_CHAN_INFO_SCALE), \ - .scan_index = (_index), \ + .scan_index = AXIS_##_axis, \ .scan_type = { \ .sign = 's', \ .realbits = 14, \ @@ -465,10 +465,10 @@ static const struct iio_chan_spec_ext_info bma180_ext_info[] = { } static const struct iio_chan_spec bma180_channels[] = { - BMA180_CHANNEL(AXIS_X), - BMA180_CHANNEL(AXIS_Y), - BMA180_CHANNEL(AXIS_Z), - IIO_CHAN_SOFT_TIMESTAMP(4), + BMA180_CHANNEL(X), + BMA180_CHANNEL(Y), + BMA180_CHANNEL(Z), + IIO_CHAN_SOFT_TIMESTAMP(3), }; static irqreturn_t bma180_trigger_handler(int irq, void *p) |