]> Git Repo - linux.git/commit
iio:imu: inv_mpu6050: support more interrupt types
authorMartin Kelly <[email protected]>
Fri, 20 Apr 2018 16:54:00 +0000 (09:54 -0700)
committerJonathan Cameron <[email protected]>
Sat, 21 Apr 2018 15:24:30 +0000 (16:24 +0100)
commit5ec6486daa98ba4bb18542116db7d867986c0ebe
treea5edf818833df832edec52a40de58f05c80c7b18
parent17623d9a2310213648e7b563b44eb680d49e0524
iio:imu: inv_mpu6050: support more interrupt types

Currently, we support only rising edge interrupts, and in fact we assume
that the interrupt we're given is rising edge (and things won't work if
it's not). However, the device supports rising edge, falling edge, level
low, and level high interrupts.

Empirically, on my system, switching to level interrupts has fixed a
problem I had with significant (~40%) interrupt loss with edge
interrupts. This issue is likely related to the SoC I'm using (Allwinner
H3), but being able to switch the interrupt type is still a very useful
workaround.

I tested this with each interrupt type and verified correct behavior in
a logic analyzer.

Add support for these interrupt types while also eliminating the error
case of the device tree and driver using different interrupt types.

Signed-off-by: Martin Kelly <[email protected]>
Acked-by: Jean-Baptiste Maneyrol <[email protected]>
Signed-off-by: Jonathan Cameron <[email protected]>
drivers/iio/imu/inv_mpu6050/inv_mpu_core.c
drivers/iio/imu/inv_mpu6050/inv_mpu_i2c.c
drivers/iio/imu/inv_mpu6050/inv_mpu_iio.h
drivers/iio/imu/inv_mpu6050/inv_mpu_ring.c
drivers/iio/imu/inv_mpu6050/inv_mpu_trigger.c
This page took 0.048395 seconds and 4 git commands to generate.