diff options
author | Gabriele Mazzotta <gabriele.mzt@gmail.com> | 2016-01-12 10:21:39 -0500 |
---|---|---|
committer | Jonathan Cameron <jic23@kernel.org> | 2016-01-16 07:58:18 -0500 |
commit | fa34e6dd44d7c02c8a8468ce4a52a7506f907bef (patch) | |
tree | cee9051c98478c489d8dbb198bc36322800aa859 | |
parent | 97a249e98a72d6b79fb7350a8dd56b147e9d5bdb (diff) |
iio: light: acpi-als: Report data as processed
As per the ACPI specification (Revision 5.0) [1], the data coming
from the sensor represent the ambient light illuminance reading
expressed in lux. So use IIO_CHAN_INFO_PROCESSED to signify that
the data are pre-processed.
However, to keep backward ABI compatibility, the IIO_CHAN_INFO_RAW
bit is not removed.
[1] http://www.acpi.info/DOWNLOADS/ACPIspec50.pdf
This issue has also been responsible for at least one userspace bug
report hence marking what is a small semantic fix really for stable.
[2] https://github.com/hadess/iio-sensor-proxy/issues/46
Signed-off-by: Gabriele Mazzotta <gabriele.mzt@gmail.com>
Cc: <Stable@vger.kernel.org>
Signed-off-by: Jonathan Cameron <jic23@kernel.org>
-rw-r--r-- | drivers/iio/light/acpi-als.c | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/drivers/iio/light/acpi-als.c b/drivers/iio/light/acpi-als.c index 60537ec0c923..53201d99a16c 100644 --- a/drivers/iio/light/acpi-als.c +++ b/drivers/iio/light/acpi-als.c | |||
@@ -54,7 +54,9 @@ static const struct iio_chan_spec acpi_als_channels[] = { | |||
54 | .realbits = 32, | 54 | .realbits = 32, |
55 | .storagebits = 32, | 55 | .storagebits = 32, |
56 | }, | 56 | }, |
57 | .info_mask_separate = BIT(IIO_CHAN_INFO_RAW), | 57 | /* _RAW is here for backward ABI compatibility */ |
58 | .info_mask_separate = BIT(IIO_CHAN_INFO_RAW) | | ||
59 | BIT(IIO_CHAN_INFO_PROCESSED), | ||
58 | }, | 60 | }, |
59 | }; | 61 | }; |
60 | 62 | ||
@@ -152,7 +154,7 @@ static int acpi_als_read_raw(struct iio_dev *indio_dev, | |||
152 | s32 temp_val; | 154 | s32 temp_val; |
153 | int ret; | 155 | int ret; |
154 | 156 | ||
155 | if (mask != IIO_CHAN_INFO_RAW) | 157 | if ((mask != IIO_CHAN_INFO_PROCESSED) && (mask != IIO_CHAN_INFO_RAW)) |
156 | return -EINVAL; | 158 | return -EINVAL; |
157 | 159 | ||
158 | /* we support only illumination (_ALI) so far. */ | 160 | /* we support only illumination (_ALI) so far. */ |