| From 7cc3bff4efe6164a0c8163331c8aa55454799f42 Mon Sep 17 00:00:00 2001 |
| From: Franziska Naepelt <franziska.naepelt@idt.com> |
| Date: Wed, 17 May 2017 12:41:19 +0200 |
| Subject: iio: light: ltr501 Fix interchanged als/ps register field |
| |
| From: Franziska Naepelt <franziska.naepelt@idt.com> |
| |
| commit 7cc3bff4efe6164a0c8163331c8aa55454799f42 upstream. |
| |
| The register mapping for the IIO driver for the Liteon Light and Proximity |
| sensor LTR501 interrupt mode is interchanged (ALS/PS). |
| There is a register called INTERRUPT register (address 0x8F) |
| Bit 0 represents PS measurement trigger. |
| Bit 1 represents ALS measurement trigger. |
| This two bit fields are interchanged within the driver. |
| see datasheet page 24: |
| http://optoelectronics.liteon.com/upload/download/DS86-2012-0006/S_110_LTR-501ALS-01_PrelimDS_ver1%5B1%5D.pdf |
| |
| Signed-off-by: Franziska Naepelt <franziska.naepelt@idt.com> |
| Fixes: 7ac702b3144b6 ("iio: ltr501: Add interrupt support") |
| Acked-by: Peter Meerwald-Stadler <pmeerw@pmeerw.net> |
| Signed-off-by: Jonathan Cameron <jic23@kernel.org> |
| Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org> |
| |
| --- |
| drivers/iio/light/ltr501.c | 4 ++-- |
| 1 file changed, 2 insertions(+), 2 deletions(-) |
| |
| --- a/drivers/iio/light/ltr501.c |
| +++ b/drivers/iio/light/ltr501.c |
| @@ -74,9 +74,9 @@ static const int int_time_mapping[] = {1 |
| static const struct reg_field reg_field_it = |
| REG_FIELD(LTR501_ALS_MEAS_RATE, 3, 4); |
| static const struct reg_field reg_field_als_intr = |
| - REG_FIELD(LTR501_INTR, 0, 0); |
| -static const struct reg_field reg_field_ps_intr = |
| REG_FIELD(LTR501_INTR, 1, 1); |
| +static const struct reg_field reg_field_ps_intr = |
| + REG_FIELD(LTR501_INTR, 0, 0); |
| static const struct reg_field reg_field_als_rate = |
| REG_FIELD(LTR501_ALS_MEAS_RATE, 0, 2); |
| static const struct reg_field reg_field_ps_rate = |