linux/drivers/iio/accel
Lorenzo Bianconi d1f13dcad5 iio: st_sensors: add register mask for status register
[ Upstream commit e72a060151 ]

Introduce register mask for data-ready status register since
pressure sensors (e.g. LPS22HB) export just two channels
(BIT(0) and BIT(1)) and BIT(2) is marked reserved while in
st_sensors_new_samples_available() value read from status register
is masked using 0x7.
Moreover do not mask status register using active_scan_mask since
now status value is properly masked and if the result is not zero the
interrupt has to be consumed by the driver. This fix an issue on LPS25H
and LPS331AP where channel definition is swapped respect to status
register.
Furthermore that change allows to properly support new devices
(e.g LIS2DW12) that report just ZYXDA (data-ready) field in status register
to figure out if the interrupt has been generated by the device.

Fixes: 97865fe413 (iio: st_sensors: verify interrupt event to status)
Signed-off-by: Lorenzo Bianconi <lorenzo.bianconi@st.com>
Reviewed-by: Linus Walleij <linus.walleij@linaro.org>
Signed-off-by: Jonathan Cameron <Jonathan.Cameron@huawei.com>
Signed-off-by: Sasha Levin <alexander.levin@verizon.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
History 2017-12-25 14:26:26 +01:00
..
adxl345.h iio: accel: adxl345: Split driver into core and I2C 2017-03-04 16:45:08 +00:00
adxl345_core.c iio: accel: adxl345: Split driver into core and I2C 2017-03-04 16:45:08 +00:00
adxl345_i2c.c iio: accel: adxl345: Split driver into core and I2C 2017-03-04 16:45:08 +00:00
adxl345_spi.c iio: accel: adxl345: Add SPI support 2017-03-04 16:49:28 +00:00
bma180.c iio: accel: bma180: constify i2c_device_id 2017-08-20 10:15:45 +01:00
bma220_spi.c iio: accel: bma220_spi: set up buffer timestamps for non-zero values 2016-08-15 15:39:18 +01:00
bmc150-accel-core.c iio: accel: bmc150: Always restore device to normal mode after suspend-resume 2017-07-17 21:36:54 +01:00
bmc150-accel-i2c.c iio: accel: bmc150: Add support for BOSC0200 ACPI device id 2017-07-01 10:16:37 +01:00
bmc150-accel-spi.c iio: accel: bmc150: use common definition for regmap conf 2016-04-03 11:24:52 +01:00
bmc150-accel.h License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
da280.c iio: accel: Add driver for the MiraMEMS DA280 3-axis 14-bit digital accelerometer 2016-10-11 19:40:15 +01:00
da311.c iio: accel: make array init_data static to reduce code size 2017-07-09 19:11:49 +01:00
dmard06.c iio: accel: Add support for Domintech DMARD06 accelerometer 2016-08-21 10:52:02 +01:00
dmard09.c iio: accel: add support for the Domintech DMARD09 3-axis accelerometer 2016-08-21 10:52:08 +01:00
dmard10.c iio: accel: Add driver for dmard10 3-axis Accelerometer 2016-10-11 19:38:32 +01:00
hid-sensor-accel-3d.c iio: hid-sensor-accel-3d: Drop unnecessary static 2017-05-07 13:56:36 +01:00
Kconfig iio: accel: adxl345: Add SPI support 2017-03-04 16:49:28 +00:00
kxcjk-1013.c iio: accel: kxcjk-1013: add the "KIOX000A" ACPI id 2016-07-24 19:58:40 +01:00
kxsd9-i2c.c License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
kxsd9-spi.c iio: accel: kxsd9: Deploy system and runtime PM 2016-09-18 11:35:59 +01:00
kxsd9.c iio: accel: kxsd9: Support reading a mounting matrix 2016-09-18 11:36:32 +01:00
kxsd9.h License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
Makefile License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
mc3230.c iio: accel: Add driver for the mCube MC3230 3-axis accelerometer 2016-09-18 13:25:38 +01:00
mma7455.h iio: accel: add Freescale MMA7455L/MMA7456L 3-axis accelerometer driver 2015-11-01 18:00:35 +00:00
mma7455_core.c iio:core: timestamping clock selection support 2016-06-30 19:41:38 +01:00
mma7455_i2c.c iio: accel: mma7455_i2c: Add OF device ID table 2017-03-19 10:57:43 +00:00
mma7455_spi.c iio: accel: add Freescale MMA7455L/MMA7456L 3-axis accelerometer driver 2015-11-01 18:00:35 +00:00
mma7660.c iio: accel: mma7660: Add OF device ID table 2017-03-19 10:58:28 +00:00
mma8452.c iio: accel: mma8452: define unsigned return values where appropriate 2016-12-03 08:56:28 +00:00
mma9551.c iio: accel: mma9551: use NULL for GPIO connection ID 2017-06-11 16:05:53 +01:00
mma9551_core.c iio: accel: mma9553: fix alignment issues 2015-06-14 16:00:54 +01:00
mma9551_core.h iio: accel: mma9553: fix alignment issues 2015-06-14 16:00:54 +01:00
mma9553.c iio:core: timestamping clock selection support 2016-06-30 19:41:38 +01:00
mxc4005.c iio: remove gpio interrupt probing from drivers that use a single interrupt 2016-04-03 10:27:48 +01:00
mxc6255.c iio: accel: mxc6255: Fix chip-id check 2016-09-12 20:19:16 +01:00
sca3000.c iio: sca3000: Remove trailing whitespace 2017-07-02 10:24:54 +01:00
ssp_accel_sensor.c iio: common: ssp_sensors: accel: use devm_iio_device_register() 2017-01-28 12:15:22 +00:00
st_accel.h iio: accel: st_accel: rename H3LIS331DL_DRIVER_NAME in H3LIS331DL_ACCEL_DEV_NAME 2017-07-09 19:19:17 +01:00
st_accel_buffer.c iio: st_sensors: switch to a threaded interrupt 2016-05-29 20:21:41 +01:00
st_accel_core.c iio: st_sensors: add register mask for status register 2017-12-25 14:26:26 +01:00
st_accel_i2c.c iio: accel: st_accel: rename H3LIS331DL_DRIVER_NAME in H3LIS331DL_ACCEL_DEV_NAME 2017-07-09 19:19:17 +01:00
st_accel_spi.c iio: accel: st_accel: rename H3LIS331DL_DRIVER_NAME in H3LIS331DL_ACCEL_DEV_NAME 2017-07-09 19:19:17 +01:00
stk8ba50.c iio: remove unused gpio consumer.h include 2016-04-03 10:27:47 +01:00
stk8312.c iio: remove unused gpio consumer.h include 2016-04-03 10:27:47 +01:00