[PATCH v2 00/11] iio: imu: adis: cleanup lock usage

From: Alexandru Ardelean
Date: Fri Nov 22 2019 - 08:30:01 EST


There is a general effort for cleaning up `indio_dev->mlock` usage in IIO
drivers. As part of that some ADIS drivers also need to do that.

This changeset does a little more, by reworking the `txrx_lock` from the
ADIS library to be used as a general `state_lock` to protect state between
consecutive read/write ops.

As such, all users of the ADIS lib have been verified to have their usage
of mlock checked. Some just needed the mlock usage removed (as done in

Changelog v1 -> v2:
* this patchset has got more testing in our repo since last time - also
found a bug in v1
* tested with `make ARCH=x86_64 allmodconfig` ; seems this is how Greg
found the issue and we didn't

Alexandru Ardelean (11):
iio: imu: adis: rename txrx_lock -> state_lock
iio: imu: adis: add unlocked read/write function versions
iio: imu: adis[16480]: group RW into a single lock in
adis_enable_irq()
iio: imu: adis: create an unlocked version of adis_check_status()
iio: imu: adis: create an unlocked version of adis_reset()
iio: imu: adis: protect initial startup routine with state lock
iio: imu: adis: group single conversion under a single state lock
iio: imu: adis16400: rework locks using ADIS library's state lock
iio: gyro: adis16136: rework locks using ADIS library's state lock
iio: imu: adis16480: use state lock for filter freq set
iio: gyro: adis16260: replace mlock with ADIS lib's state_lock

drivers/iio/gyro/adis16136.c | 31 ++++---
drivers/iio/gyro/adis16260.c | 6 +-
drivers/iio/imu/adis.c | 94 +++++++++++----------
drivers/iio/imu/adis16400.c | 51 ++++++------
drivers/iio/imu/adis16480.c | 17 ++--
drivers/iio/imu/adis_buffer.c | 4 +-
include/linux/iio/imu/adis.h | 150 ++++++++++++++++++++++++++++++++--
7 files changed, 258 insertions(+), 95 deletions(-)

--
2.20.1