staging:iio:ad7793: Fix scan index for the "shorted" channel
authorLars-Peter Clausen <lars@metafoo.de>
Wed, 27 Jun 2012 08:58:27 +0000 (10:58 +0200)
committerJonathan Cameron <jic23@kernel.org>
Sat, 30 Jun 2012 09:12:30 +0000 (10:12 +0100)
The code expects the scan index to match the offset of the channel into the
channel array. For the "shorted" the offset is 3, but the scan index is set to
2. Also the scan index 2 is already taken by the previous channel. As a result
the "shorted" channel will appear to be selected if the previous channel is
selected and vice versa and it is not possible to sample the "shorted" channel
in buffered mode.

Signed-off-by: Lars-Peter Clausen <lars@metafoo.de>
Signed-off-by: Jonathan Cameron <jic23@kernel.org>
drivers/staging/iio/adc/ad7793.c

index b36556fa2957affa75852efaaedda9bfdd6eb755..92d8c255d4707649995b510963d4bc306a9257d5 100644 (file)
@@ -786,7 +786,7 @@ static const struct ad7793_chip_info ad7793_chip_info_tbl[] = {
                        .address = AD7793_CH_AIN1M_AIN1M,
                        .info_mask = IIO_CHAN_INFO_RAW_SEPARATE_BIT |
                        IIO_CHAN_INFO_SCALE_SHARED_BIT,
-                       .scan_index = 2,
+                       .scan_index = 3,
                        .scan_type = IIO_ST('s', 24, 32, 0)
                },
                .channel[4] = {
@@ -859,7 +859,7 @@ static const struct ad7793_chip_info ad7793_chip_info_tbl[] = {
                        .address = AD7793_CH_AIN1M_AIN1M,
                        .info_mask = IIO_CHAN_INFO_RAW_SEPARATE_BIT |
                        IIO_CHAN_INFO_SCALE_SHARED_BIT,
-                       .scan_index = 2,
+                       .scan_index = 3,
                        .scan_type = IIO_ST('s', 16, 32, 0)
                },
                .channel[4] = {