Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 08969366 authored by Himanshi Jain's avatar Himanshi Jain Committed by Jonathan Cameron
Browse files

staging: iio: ade7753: replace mlock with driver private lock



Replace driver usage of mlock with driver private lock to meet the new
model where usage of iio_dev->mlock is being redefined as protecting
operating mode changes(changes between BUFFER* and DIRECT modes).

Signed-off-by: default avatarHimanshi Jain <himshijain.hj@gmail.com>
Signed-off-by: default avatarJonathan Cameron <Jonathan.Cameron@huawei.com>
parent f8b7b30f
Loading
Loading
Loading
Loading
+5 −2
Original line number Diff line number Diff line
@@ -81,10 +81,12 @@
 * @tx:         transmit buffer
 * @rx:         receive buffer
 * @buf_lock:       mutex to protect tx and rx
 * @lock:	protect sensor data
 **/
struct ade7753_state {
	struct spi_device   *us;
	struct mutex        buf_lock;
	struct mutex	    lock; /* protect sensor data */
	u8          tx[ADE7753_MAX_TX] ____cacheline_aligned;
	u8          rx[ADE7753_MAX_RX];
};
@@ -483,7 +485,7 @@ static ssize_t ade7753_write_frequency(struct device *dev,
	if (!val)
		return -EINVAL;

	mutex_lock(&indio_dev->mlock);
	mutex_lock(&st->lock);

	t = 27900 / val;
	if (t > 0)
@@ -504,7 +506,7 @@ static ssize_t ade7753_write_frequency(struct device *dev,
	ret = ade7753_spi_write_reg_16(dev, ADE7753_MODE, reg);

out:
	mutex_unlock(&indio_dev->mlock);
	mutex_unlock(&st->lock);

	return ret ? ret : len;
}
@@ -579,6 +581,7 @@ static int ade7753_probe(struct spi_device *spi)
	st = iio_priv(indio_dev);
	st->us = spi;
	mutex_init(&st->buf_lock);
	mutex_init(&st->lock);

	indio_dev->name = spi->dev.driver->name;
	indio_dev->dev.parent = &spi->dev;