From: Jonathan Cameron <jic23@kernel.org>
To: Alison Schofield <amsfield22@gmail.com>,
outreachy-kernel@googlegroups.com
Cc: knaack.h@gmx.de, lars@metafoo.de, pmeerw@pmeerw.net,
linux-iio@vger.kernel.org, linux-kernel@vger.kernel.org,
Michael.Hennerich@analog.com, gregkh@linuxfoundation.org,
devel@driverdev.osuosl.org
Subject: Re: [RFC PATCH v2 2/2] staging: iio: ad7192: use iio_device_{claim|release}_direct_mode()
Date: Sat, 12 Mar 2016 11:21:13 +0000 [thread overview]
Message-ID: <56E3FBA9.9070500@kernel.org> (raw)
In-Reply-To: <dd3f346d97cfb11f4d18e44eb67309c889639ba7.1457549841.git.amsfield22@gmail.com>
On 09/03/16 19:30, Alison Schofield wrote:
> Replace the code that guarantees the device stays in direct mode with
> iio_device_{claim|release}_direct_mode() which does same.
>
> Signed-off-by: Alison Schofield <amsfield22@gmail.com>
A small improvement inline - don't eat the errors within the
driver.
Jonathan
> ---
> drivers/staging/iio/adc/ad7192.c | 24 +++++++++---------------
> 1 file changed, 9 insertions(+), 15 deletions(-)
>
> diff --git a/drivers/staging/iio/adc/ad7192.c b/drivers/staging/iio/adc/ad7192.c
> index f843f19..94a2e06 100644
> --- a/drivers/staging/iio/adc/ad7192.c
> +++ b/drivers/staging/iio/adc/ad7192.c
> @@ -349,11 +349,9 @@ static ssize_t ad7192_write_frequency(struct device *dev,
> if (lval == 0)
> return -EINVAL;
>
> - mutex_lock(&indio_dev->mlock);
> - if (iio_buffer_enabled(indio_dev)) {
> - mutex_unlock(&indio_dev->mlock);
> + ret = iio_device_claim_direct_mode(indio_dev);
> + if (ret)
> return -EBUSY;
return ret; In theory we might be returning some other
error code so best not to 'eat' the result.
> - }
>
> div = st->mclk / (lval * st->f_order * 1024);
> if (div < 1 || div > 1023) {
> @@ -366,7 +364,7 @@ static ssize_t ad7192_write_frequency(struct device *dev,
> ad_sd_write_reg(&st->sd, AD7192_REG_MODE, 3, st->mode);
>
> out:
> - mutex_unlock(&indio_dev->mlock);
> + iio_device_release_direct_mode(indio_dev);
>
> return ret ? ret : len;
> }
> @@ -434,11 +432,9 @@ static ssize_t ad7192_set(struct device *dev,
> if (ret < 0)
> return ret;
>
> - mutex_lock(&indio_dev->mlock);
> - if (iio_buffer_enabled(indio_dev)) {
> - mutex_unlock(&indio_dev->mlock);
> + ret = iio_device_claim_direct_mode(indio_dev);
> + if (ret)
> return -EBUSY;
Same here.
> - }
>
> switch ((u32)this_attr->address) {
> case AD7192_REG_GPOCON:
> @@ -461,7 +457,7 @@ static ssize_t ad7192_set(struct device *dev,
> ret = -EINVAL;
> }
>
> - mutex_unlock(&indio_dev->mlock);
> + iio_device_release_direct_mode(indio_dev);
>
> return ret ? ret : len;
> }
> @@ -555,11 +551,9 @@ static int ad7192_write_raw(struct iio_dev *indio_dev,
> int ret, i;
> unsigned int tmp;
>
> - mutex_lock(&indio_dev->mlock);
> - if (iio_buffer_enabled(indio_dev)) {
> - mutex_unlock(&indio_dev->mlock);
> + ret = iio_device_claim_direct_mode(indio_dev);
> + if (ret)
> return -EBUSY;
And here.
> - }
>
> switch (mask) {
> case IIO_CHAN_INFO_SCALE:
> @@ -582,7 +576,7 @@ static int ad7192_write_raw(struct iio_dev *indio_dev,
> ret = -EINVAL;
> }
>
> - mutex_unlock(&indio_dev->mlock);
> + iio_device_release_direct_mode(indio_dev);
>
> return ret;
> }
>
next prev parent reply other threads:[~2016-03-12 11:21 UTC|newest]
Thread overview: 14+ messages / expand[flat|nested] mbox.gz Atom feed top
2016-03-01 18:58 [RFC PATCH 0/2] iio: introduce iio_{claim|release}_direct_mode() Alison Schofield
2016-03-01 19:02 ` [RFC PATCH 1/2] iio: core: implement iio_{claim|release}_direct_mode() Alison Schofield
2016-03-02 13:28 ` Lars-Peter Clausen
2016-03-05 18:02 ` Jonathan Cameron
2016-03-09 20:06 ` Alison Schofield
2016-03-09 20:23 ` Jonathan Cameron
2016-03-01 19:03 ` [RFC PATCH 2/2] staging: iio: adc7192: use iio_{claim|release}_direct_mode() Alison Schofield
2016-03-09 19:25 ` [RFC PATCH v2 0/2] iio: introduce iio_device_{claim|release}_direct_mode() Alison Schofield
2016-03-09 19:30 ` [RFC PATCH v2 1/2] iio: core: implement iio_device_{claim|release}_direct_mode() Alison Schofield
2016-03-12 11:18 ` Jonathan Cameron
2016-03-09 19:30 ` [RFC PATCH v2 2/2] staging: iio: ad7192: use iio_device_{claim|release}_direct_mode() Alison Schofield
2016-03-12 11:21 ` Jonathan Cameron [this message]
2016-03-12 11:25 ` Jonathan Cameron
2016-03-12 11:16 ` [RFC PATCH v2 0/2] iio: introduce iio_device_{claim|release}_direct_mode() Jonathan Cameron
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=56E3FBA9.9070500@kernel.org \
--to=jic23@kernel.org \
--cc=Michael.Hennerich@analog.com \
--cc=amsfield22@gmail.com \
--cc=devel@driverdev.osuosl.org \
--cc=gregkh@linuxfoundation.org \
--cc=knaack.h@gmx.de \
--cc=lars@metafoo.de \
--cc=linux-iio@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=outreachy-kernel@googlegroups.com \
--cc=pmeerw@pmeerw.net \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
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.