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

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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




[Index of Archives]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Input]     [Linux Kernel]     [Linux SCSI]     [X.org]

  Powered by Linux