Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1753802AbcDFVHI (ORCPT ); Wed, 6 Apr 2016 17:07:08 -0400 Received: from www381.your-server.de ([78.46.137.84]:60736 "EHLO www381.your-server.de" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1752906AbcDFVHG (ORCPT ); Wed, 6 Apr 2016 17:07:06 -0400 Subject: Re: [PATCH v2] staging: iio: ad7606: use iio_device_{claim|release}_direct_mode() To: Alison Schofield , jic23@kernel.org, linux-iio@vger.kernel.org References: <20160401165349.GA2678@d830.WORKGROUP> <1459915891-2586-1-git-send-email-amsfield22@gmail.com> Cc: knaack.h@gmx.de, Michael.Hennerich@analog.com, pmeerw@pmeerw.net, gregkh@linuxfoundation.org, devel@driverdev.osuosl.org, linux-kernel@vger.kernel.org From: Lars-Peter Clausen Message-ID: <57057A4E.208@metafoo.de> Date: Wed, 6 Apr 2016 23:06:22 +0200 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:38.0) Gecko/20100101 Icedove/38.6.0 MIME-Version: 1.0 In-Reply-To: <1459915891-2586-1-git-send-email-amsfield22@gmail.com> Content-Type: text/plain; charset=windows-1252 Content-Transfer-Encoding: 7bit X-Authenticated-Sender: lars@metafoo.de Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 1321 Lines: 42 On 04/06/2016 06:11 AM, 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 Looks good, thanks. Acked-by: Lars-Peter Clausen > --- > Changed in v2: > - removed improper application of claim/release from intr handler > - updated changelog > > drivers/staging/iio/adc/ad7606_core.c | 12 ++++++------ > 1 file changed, 6 insertions(+), 6 deletions(-) > > diff --git a/drivers/staging/iio/adc/ad7606_core.c b/drivers/staging/iio/adc/ad7606_core.c > index 6dbc811..f79ee61 100644 > --- a/drivers/staging/iio/adc/ad7606_core.c > +++ b/drivers/staging/iio/adc/ad7606_core.c > @@ -88,12 +88,12 @@ static int ad7606_read_raw(struct iio_dev *indio_dev, > > switch (m) { > case IIO_CHAN_INFO_RAW: > - mutex_lock(&indio_dev->mlock); > - if (iio_buffer_enabled(indio_dev)) > - ret = -EBUSY; > - else > - ret = ad7606_scan_direct(indio_dev, chan->address); > - mutex_unlock(&indio_dev->mlock); > + ret = iio_device_claim_direct_mode(indio_dev); > + if (ret) > + return ret; > + > + ret = ad7606_scan_direct(indio_dev, chan->address); > + iio_device_release_direct_mode(indio_dev); > > if (ret < 0) > return ret; >