linux/drivers/iio/accel
Harinath Nampally 605f72de13 iio: accel: mma8452: improvements to handle multiple events
This driver supports multiple devices like mma8653,
    mma8652, mma8452, mma8453 and fxls8471. Almost all
    these devices have more than one event.

    Current driver design hardcodes the event specific
    information, so only one event can be supported by this
    driver at any given time.
    Also current design doesn't have the flexibility to
    add more events.

    This patch improves by detaching the event related
    information from chip_info struct,and based on channel
    type and event direction the corresponding event
    configuration registers are picked dynamically.
    Hence both transient and freefall events can be
    handled in read/write callbacks.

    Changes are thoroughly tested on fxls8471 device on imx6UL
    Eval board using iio_event_monitor user space program.

    After this fix both Freefall and Transient events are
    handled by the driver without any conflicts.

Signed-off-by: Harinath Nampally <harinath922@gmail.com>
Reviewed-by: Martin Kepplinger <martink@posteo.de>
Signed-off-by: Jonathan Cameron <Jonathan.Cameron@huawei.com>
2017-09-13 17:49:58 +01:00
..
adxl345_core.c iio:accel: drop assign iio_info.driver_module and iio_trigger_ops.owner 2017-08-22 21:22:40 +01: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
adxl345.h iio: accel: adxl345: Split driver into core and I2C 2017-03-04 16:45:08 +00:00
bma180.c iio:accel: drop assign iio_info.driver_module and iio_trigger_ops.owner 2017-08-22 21:22:40 +01:00
bma220_spi.c iio:accel: drop assign iio_info.driver_module and iio_trigger_ops.owner 2017-08-22 21:22:40 +01:00
bmc150-accel-core.c iio:accel: drop assign iio_info.driver_module and iio_trigger_ops.owner 2017-08-22 21:22:40 +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 iio: accel: bmc150: use common definition for regmap conf 2016-04-03 11:24:52 +01:00
da280.c iio:accel: drop assign iio_info.driver_module and iio_trigger_ops.owner 2017-08-22 21:22:40 +01:00
da311.c iio:accel: drop assign iio_info.driver_module and iio_trigger_ops.owner 2017-08-22 21:22:40 +01:00
dmard06.c iio:accel: drop assign iio_info.driver_module and iio_trigger_ops.owner 2017-08-22 21:22:40 +01:00
dmard09.c iio:accel: drop assign iio_info.driver_module and iio_trigger_ops.owner 2017-08-22 21:22:40 +01:00
dmard10.c iio:accel: drop assign iio_info.driver_module and iio_trigger_ops.owner 2017-08-22 21:22:40 +01:00
hid-sensor-accel-3d.c iio:accel: drop assign iio_info.driver_module and iio_trigger_ops.owner 2017-08-22 21:22:40 +01:00
Kconfig iio: accel: adxl345: Add SPI support 2017-03-04 16:49:28 +00:00
kxcjk-1013.c iio:accel: drop assign iio_info.driver_module and iio_trigger_ops.owner 2017-08-22 21:22:40 +01:00
kxsd9-i2c.c iio: accel: kxsd9: Deploy system and runtime PM 2016-09-18 11:35:59 +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: drop assign iio_info.driver_module and iio_trigger_ops.owner 2017-08-22 21:22:40 +01:00
kxsd9.h iio: accel: kxsd9: Deploy system and runtime PM 2016-09-18 11:35:59 +01:00
Makefile iio: accel: adxl345: Add SPI support 2017-03-04 16:49:28 +00:00
mc3230.c iio:accel: drop assign iio_info.driver_module and iio_trigger_ops.owner 2017-08-22 21:22:40 +01:00
mma7455_core.c iio:accel: drop assign iio_info.driver_module and iio_trigger_ops.owner 2017-08-22 21:22:40 +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
mma7455.h iio: accel: add Freescale MMA7455L/MMA7456L 3-axis accelerometer driver 2015-11-01 18:00:35 +00:00
mma7660.c iio:accel: drop assign iio_info.driver_module and iio_trigger_ops.owner 2017-08-22 21:22:40 +01:00
mma8452.c iio: accel: mma8452: improvements to handle multiple events 2017-09-13 17:49:58 +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
mma9551.c iio:accel: drop assign iio_info.driver_module and iio_trigger_ops.owner 2017-08-22 21:22:40 +01:00
mma9553.c iio:accel: drop assign iio_info.driver_module and iio_trigger_ops.owner 2017-08-22 21:22:40 +01:00
mxc4005.c iio:accel: drop assign iio_info.driver_module and iio_trigger_ops.owner 2017-08-22 21:22:40 +01:00
mxc6255.c iio:accel: drop assign iio_info.driver_module and iio_trigger_ops.owner 2017-08-22 21:22:40 +01:00
sca3000.c iio:accel: drop assign iio_info.driver_module and iio_trigger_ops.owner 2017-08-22 21:22:40 +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_buffer.c iio: st_sensors: switch to a threaded interrupt 2016-05-29 20:21:41 +01:00
st_accel_core.c iio:accel: drop assign iio_info.driver_module and iio_trigger_ops.owner 2017-08-22 21:22:40 +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
st_accel.h iio: accel: st_accel: rename H3LIS331DL_DRIVER_NAME in H3LIS331DL_ACCEL_DEV_NAME 2017-07-09 19:19:17 +01:00
stk8ba50.c iio:accel: drop assign iio_info.driver_module and iio_trigger_ops.owner 2017-08-22 21:22:40 +01:00
stk8312.c iio:accel: drop assign iio_info.driver_module and iio_trigger_ops.owner 2017-08-22 21:22:40 +01:00