staging:iio:light:tsl2563 channel spec buglet / always reading same adc.
The IIO_LIGHT channel was not marked as being a processed_val despite
clearly being in lux.
The IIO_INTENSITY channel reads were dependent on channel and that isn't
specified for either adc (as they now use modifiers). Hence use the
modifier instead.
Reported-by: Jon Brenner <jbrenner@taosinc.com>
Signed-off-by: Jonathan Cameron <jic23@kernel.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
diff --git a/drivers/staging/iio/light/tsl2563.c b/drivers/staging/iio/light/tsl2563.c
index 546c95a..beb51d71 100644
--- a/drivers/staging/iio/light/tsl2563.c
+++ b/drivers/staging/iio/light/tsl2563.c
@@ -465,7 +465,7 @@
{
struct tsl2563_chip *chip = iio_priv(indio_dev);
- if (chan->channel == 0)
+ if (chan->channel == IIO_MOD_LIGHT_BOTH)
chip->calib0 = calib_from_sysfs(val);
else
chip->calib1 = calib_from_sysfs(val);
@@ -534,6 +534,7 @@
{
.type = IIO_LIGHT,
.indexed = 1,
+ .processed_val = 1,
.channel = 0,
}, {
.type = IIO_INTENSITY,