iio: imu: adis: add a note better explaining state_lock
authorAlexandru Ardelean <alexandru.ardelean@analog.com>
Tue, 25 Feb 2020 10:33:19 +0000 (12:33 +0200)
committerJonathan Cameron <Jonathan.Cameron@huawei.com>
Sun, 8 Mar 2020 17:28:51 +0000 (17:28 +0000)
The 'state_lock' mutex was renamed from 'txrx_lock' in a previous patch and
is intended to be used by ADIS drivers to protect the state of devices
during consecutive R/W ops.
The initial patch that introduced this change did not do a good [well, any]
job at explaining this. This patch adds a comment to the 'state_lock'
better explaining it's use.

Signed-off-by: Alexandru Ardelean <alexandru.ardelean@analog.com>
Signed-off-by: Jonathan Cameron <Jonathan.Cameron@huawei.com>
include/linux/iio/imu/adis.h

index 20339025c75f1d467e8c29d6d7dce6b69f8f16d9..dd8219138c2e4f35aae7af6df72337eb6542bd22 100644 (file)
@@ -98,6 +98,17 @@ struct adis {
        const struct adis_data  *data;
        struct adis_burst       *burst;
 
+       /**
+        * The state_lock is meant to be used during operations that require
+        * a sequence of SPI R/W in order to protect the SPI transfer
+        * information (fields 'xfer', 'msg' & 'current_page') between
+        * potential concurrent accesses.
+        * This lock is used by all "adis_{functions}" that have to read/write
+        * registers. These functions also have unlocked variants
+        * (see "__adis_{functions}"), which don't hold this lock.
+        * This allows users of the ADIS library to group SPI R/W into
+        * the drivers, but they also must manage this lock themselves.
+        */
        struct mutex            state_lock;
        struct spi_message      msg;
        struct spi_transfer     *xfer;