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