diff mbox series

[v2] iio: gyro: adis16260: replace mlock with ADIS lib's state_lock

Message ID 20191008082225.4526-1-alexandru.ardelean@analog.com (mailing list archive)
State New, archived
Headers show
Series [v2] iio: gyro: adis16260: replace mlock with ADIS lib's state_lock | expand

Commit Message

Alexandru Ardelean Oct. 8, 2019, 8:22 a.m. UTC
This change uses the ADIS library's state_lock to protect the state of the
`max_speed_hz` change that is done during the set of the sampling
frequency.

Signed-off-by: Alexandru Ardelean <alexandru.ardelean@analog.com>
---

Changelog v1 -> v2:
* use ADIS library's state_lock instead indio_dev's mlock ; vs just
  removing it (as V1 did)

 drivers/iio/gyro/adis16260.c | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

Comments

Jonathan Cameron Oct. 12, 2019, 1:43 p.m. UTC | #1
On Tue, 8 Oct 2019 11:22:25 +0300
Alexandru Ardelean <alexandru.ardelean@analog.com> wrote:

> This change uses the ADIS library's state_lock to protect the state of the
> `max_speed_hz` change that is done during the set of the sampling
> frequency.
> 
> Signed-off-by: Alexandru Ardelean <alexandru.ardelean@analog.com>
Looks good.

Applied to the togreg branch of iio.git and pushed out as testing
for the autobuilders to play with it.

Thanks,

Jonathan

p.s. personal preference is don't put a new patch version as a reply
to an earlier one.  Makes it a lot more likely I'll fail to notice
it!


> ---
> 
> Changelog v1 -> v2:
> * use ADIS library's state_lock instead indio_dev's mlock ; vs just
>   removing it (as V1 did)
> 
>  drivers/iio/gyro/adis16260.c | 6 +++---
>  1 file changed, 3 insertions(+), 3 deletions(-)
> 
> diff --git a/drivers/iio/gyro/adis16260.c b/drivers/iio/gyro/adis16260.c
> index 207a0ce13439..726a0aa321a8 100644
> --- a/drivers/iio/gyro/adis16260.c
> +++ b/drivers/iio/gyro/adis16260.c
> @@ -293,7 +293,7 @@ static int adis16260_write_raw(struct iio_dev *indio_dev,
>  		addr = adis16260_addresses[chan->scan_index][1];
>  		return adis_write_reg_16(adis, addr, val);
>  	case IIO_CHAN_INFO_SAMP_FREQ:
> -		mutex_lock(&indio_dev->mlock);
> +		mutex_lock(&adis->state_lock);
>  		if (spi_get_device_id(adis->spi)->driver_data)
>  			t = 256 / val;
>  		else
> @@ -308,9 +308,9 @@ static int adis16260_write_raw(struct iio_dev *indio_dev,
>  			adis->spi->max_speed_hz = ADIS16260_SPI_SLOW;
>  		else
>  			adis->spi->max_speed_hz = ADIS16260_SPI_FAST;
> -		ret = adis_write_reg_8(adis, ADIS16260_SMPL_PRD, t);
> +		ret = __adis_write_reg_8(adis, ADIS16260_SMPL_PRD, t);
>  
> -		mutex_unlock(&indio_dev->mlock);
> +		mutex_unlock(&adis->state_lock);
>  		return ret;
>  	}
>  	return -EINVAL;
diff mbox series

Patch

diff --git a/drivers/iio/gyro/adis16260.c b/drivers/iio/gyro/adis16260.c
index 207a0ce13439..726a0aa321a8 100644
--- a/drivers/iio/gyro/adis16260.c
+++ b/drivers/iio/gyro/adis16260.c
@@ -293,7 +293,7 @@  static int adis16260_write_raw(struct iio_dev *indio_dev,
 		addr = adis16260_addresses[chan->scan_index][1];
 		return adis_write_reg_16(adis, addr, val);
 	case IIO_CHAN_INFO_SAMP_FREQ:
-		mutex_lock(&indio_dev->mlock);
+		mutex_lock(&adis->state_lock);
 		if (spi_get_device_id(adis->spi)->driver_data)
 			t = 256 / val;
 		else
@@ -308,9 +308,9 @@  static int adis16260_write_raw(struct iio_dev *indio_dev,
 			adis->spi->max_speed_hz = ADIS16260_SPI_SLOW;
 		else
 			adis->spi->max_speed_hz = ADIS16260_SPI_FAST;
-		ret = adis_write_reg_8(adis, ADIS16260_SMPL_PRD, t);
+		ret = __adis_write_reg_8(adis, ADIS16260_SMPL_PRD, t);
 
-		mutex_unlock(&indio_dev->mlock);
+		mutex_unlock(&adis->state_lock);
 		return ret;
 	}
 	return -EINVAL;