forked from Minki/linux
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: Himanshi Jain <himshijain.hj@gmail.com> Signed-off-by: Jonathan Cameron <Jonathan.Cameron@huawei.com>
This commit is contained in:
parent
f8b7b30fb4
commit
08969366af
@ -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;
|
||||
|
Loading…
Reference in New Issue
Block a user