* [PATCH] Proposal for meter ade* patches
@ 2017-03-25 7:45 Gargi Sharma
2017-03-25 15:43 ` Alison Schofield
0 siblings, 1 reply; 2+ messages in thread
From: Gargi Sharma @ 2017-03-25 7:45 UTC (permalink / raw)
To: outreachy-kernel
Cc: amsfield22, arushisinghal19971997, singhalsimran0,
karniksayli1995, Gargi Sharma
The driver needs to insure atomicity during frequency
changes of bus and device. The iiodev->mlock as used
was not doing that. Replace it with the drivers existing
buffer lock and execute spi_write directly.
Signed-off-by: Gargi Sharma <gs051095@gmail.com>
---
drivers/staging/iio/meter/ade7754.c | 9 ++++++---
1 file changed, 6 insertions(+), 3 deletions(-)
diff --git a/drivers/staging/iio/meter/ade7754.c b/drivers/staging/iio/meter/ade7754.c
index c8d2d4c..48339e9a 100644
--- a/drivers/staging/iio/meter/ade7754.c
+++ b/drivers/staging/iio/meter/ade7754.c
@@ -513,7 +513,7 @@ static ssize_t ade7754_write_frequency(struct device *dev,
if (!val)
return -EINVAL;
- mutex_lock(&indio_dev->mlock);
+ mutex_lock(&st->buf_lock);
t = 26000 / val;
if (t > 0)
@@ -531,10 +531,13 @@ static ssize_t ade7754_write_frequency(struct device *dev,
reg &= ~(3 << 3);
reg |= t << 3;
- ret = ade7754_spi_write_reg_8(dev, ADE7754_WAVMODE, reg);
+ st->tx[0] = ADE7754_WRITE_REG(ADE7754_WAVMODE);
+ st->tx[1] = reg;
+
+ ret = spi_write(st->us, st->tx, 2);
out:
- mutex_unlock(&indio_dev->mlock);
+ mutex_unlock(&st->buf_lock);
return ret ? ret : len;
}
--
2.7.4
^ permalink raw reply related [flat|nested] 2+ messages in thread
* Re: [PATCH] Proposal for meter ade* patches
2017-03-25 7:45 [PATCH] Proposal for meter ade* patches Gargi Sharma
@ 2017-03-25 15:43 ` Alison Schofield
0 siblings, 0 replies; 2+ messages in thread
From: Alison Schofield @ 2017-03-25 15:43 UTC (permalink / raw)
To: Gargi Sharma
Cc: outreachy-kernel, arushisinghal19971997, singhalsimran0,
karniksayli1995
On Sat, Mar 25, 2017 at 01:15:00PM +0530, Gargi Sharma wrote:
> The driver needs to insure atomicity during frequency
> changes of bus and device. The iiodev->mlock as used
> was not doing that. Replace it with the drivers existing
> buffer lock and execute spi_write directly.
>
> Signed-off-by: Gargi Sharma <gs051095@gmail.com>
Hi Gargi,
It's certainly a clean, simple patch! It's good that you're
running it by Sayli, Simran, and Arushi. Some consensus that
this flavor of fix will work in their drivers would be good
before forwarding it on for 'official' review.
An RFC tag might have been appropriate here, but no worries
now. It's only in our Outreachy tree.
alisons
> ---
> drivers/staging/iio/meter/ade7754.c | 9 ++++++---
> 1 file changed, 6 insertions(+), 3 deletions(-)
>
> diff --git a/drivers/staging/iio/meter/ade7754.c b/drivers/staging/iio/meter/ade7754.c
> index c8d2d4c..48339e9a 100644
> --- a/drivers/staging/iio/meter/ade7754.c
> +++ b/drivers/staging/iio/meter/ade7754.c
> @@ -513,7 +513,7 @@ static ssize_t ade7754_write_frequency(struct device *dev,
> if (!val)
> return -EINVAL;
>
> - mutex_lock(&indio_dev->mlock);
> + mutex_lock(&st->buf_lock);
>
> t = 26000 / val;
> if (t > 0)
> @@ -531,10 +531,13 @@ static ssize_t ade7754_write_frequency(struct device *dev,
> reg &= ~(3 << 3);
> reg |= t << 3;
>
> - ret = ade7754_spi_write_reg_8(dev, ADE7754_WAVMODE, reg);
> + st->tx[0] = ADE7754_WRITE_REG(ADE7754_WAVMODE);
> + st->tx[1] = reg;
> +
> + ret = spi_write(st->us, st->tx, 2);
>
> out:
> - mutex_unlock(&indio_dev->mlock);
> + mutex_unlock(&st->buf_lock);
>
> return ret ? ret : len;
> }
> --
> 2.7.4
>
^ permalink raw reply [flat|nested] 2+ messages in thread
end of thread, other threads:[~2017-03-25 15:43 UTC | newest]
Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2017-03-25 7:45 [PATCH] Proposal for meter ade* patches Gargi Sharma
2017-03-25 15:43 ` Alison Schofield
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.