From: Jonathan Cameron <jic23@kernel.org>
To: Guillaume Stols <gstols@baylibre.com>
Cc: Lars-Peter Clausen <lars@metafoo.de>,
Michael Hennerich <Michael.Hennerich@analog.com>,
Rob Herring <robh@kernel.org>,
Krzysztof Kozlowski <krzk+dt@kernel.org>,
Conor Dooley <conor+dt@kernel.org>,
Beniamin Bia <beniamin.bia@analog.com>,
Stefan Popa <stefan.popa@analog.com>,
linux-iio@vger.kernel.org, linux-kernel@vger.kernel.org,
linux-fbdev@vger.kernel.org, devicetree@vger.kernel.org,
Jonathan Cameron <Jonathan.Cameron@huawei.com>,
jstephan@baylibre.com, dlechner@baylibre.com
Subject: Re: [PATCH 7/9] iio: adc: ad7606: switch mutexes to scoped_guard
Date: Sun, 23 Jun 2024 16:41:26 +0100 [thread overview]
Message-ID: <20240623164126.0cf96981@jic23-huawei> (raw)
In-Reply-To: <20240618-cleanup-ad7606-v1-7-f1854d5c779d@baylibre.com>
On Tue, 18 Jun 2024 14:02:39 +0000
Guillaume Stols <gstols@baylibre.com> wrote:
> Switching to scoped_guard simplifies the code and avoids to take care to
> unlock the mutex in case of premature return.
>
> Signed-off-by: Guillaume Stols <gstols@baylibre.com>
> ---
> drivers/iio/adc/ad7606.c | 71 ++++++++++++++++++++++--------------------------
> 1 file changed, 33 insertions(+), 38 deletions(-)
>
> diff --git a/drivers/iio/adc/ad7606.c b/drivers/iio/adc/ad7606.c
> index 3a417595294f..e3426287edf6 100644
> --- a/drivers/iio/adc/ad7606.c
> +++ b/drivers/iio/adc/ad7606.c
> @@ -69,19 +69,18 @@ static int ad7606_reg_access(struct iio_dev *indio_dev,
> struct ad7606_state *st = iio_priv(indio_dev);
> int ret;
>
> - mutex_lock(&st->lock);
> - if (readval) {
> - ret = st->bops->reg_read(st, reg);
> - if (ret < 0)
> - goto err_unlock;
> - *readval = ret;
> - ret = 0;
> - } else {
> - ret = st->bops->reg_write(st, reg, writeval);
> + scoped_guard(mutex, &st->lock) {
> + if (readval) {
> + ret = st->bops->reg_read(st, reg);
> + if (ret < 0)
> + return ret;
> + *readval = ret;
> + return 0;
> + } else {
> + return st->bops->reg_write(st, reg, writeval);
> + }
> }
> -err_unlock:
> - mutex_unlock(&st->lock);
> - return ret;
> + unreachable();
Unless you are going to add more code in this function later in the series
then a
guard(mutex)(&st->lock); is more appropriate in this function
as the scope is effectively the whole function. Also avoids the always
ugly need for an unreachable() marking.
I'm not sure what the build bot warning means though.
Otherwise looks good to me
J
next prev parent reply other threads:[~2024-06-23 15:41 UTC|newest]
Thread overview: 27+ messages / expand[flat|nested] mbox.gz Atom feed top
2024-06-18 14:02 [PATCH 0/9] iio: adc: ad7606: Improvements Guillaume Stols
2024-06-18 14:02 ` [PATCH 1/9] dt-bindings: iio: adc: adi,ad7606: add missing datasheet link Guillaume Stols
2024-06-27 20:30 ` Rob Herring (Arm)
2024-06-18 14:02 ` [PATCH 2/9] dt-bindings: iio: adc: adi,ad7606: comment and sort the compatible names Guillaume Stols
2024-06-27 20:32 ` Rob Herring (Arm)
2024-06-18 14:02 ` [PATCH 3/9] dt-bindings: iio: adc: adi,ad7606: improve descriptions Guillaume Stols
2024-06-23 15:28 ` Jonathan Cameron
2024-06-18 14:02 ` [PATCH 4/9] dt-bindings: iio: adc: adi,ad7606: add supply properties Guillaume Stols
2024-06-18 15:12 ` Conor Dooley
2024-06-18 15:33 ` Guillaume Stols
2024-06-18 17:32 ` Conor Dooley
2024-06-23 15:31 ` Jonathan Cameron
2024-06-18 14:02 ` [PATCH 5/9] dt-bindings: iio: adc: adi,ad7606: add conditions Guillaume Stols
2024-06-18 15:13 ` Conor Dooley
2024-06-18 15:53 ` Rob Herring (Arm)
2024-06-23 15:33 ` Jonathan Cameron
2024-06-18 14:02 ` [PATCH 6/9] dt-bindings: iio: adc: adi,ad7606: fix example Guillaume Stols
2024-06-18 15:10 ` Conor Dooley
2024-06-23 15:35 ` Jonathan Cameron
2024-06-18 14:02 ` [PATCH 7/9] iio: adc: ad7606: switch mutexes to scoped_guard Guillaume Stols
2024-06-19 3:15 ` kernel test robot
2024-06-23 15:41 ` Jonathan Cameron [this message]
2024-06-18 14:02 ` [PATCH 8/9] iio: adc: ad7606: fix oversampling gpio array Guillaume Stols
2024-06-23 15:45 ` Jonathan Cameron
2024-06-24 15:08 ` Guillaume Stols
2024-06-18 14:02 ` [PATCH 9/9] iio: adc: ad7606: fix standby gpio state to match the documentation Guillaume Stols
2024-06-23 15:49 ` 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=20240623164126.0cf96981@jic23-huawei \
--to=jic23@kernel.org \
--cc=Jonathan.Cameron@huawei.com \
--cc=Michael.Hennerich@analog.com \
--cc=beniamin.bia@analog.com \
--cc=conor+dt@kernel.org \
--cc=devicetree@vger.kernel.org \
--cc=dlechner@baylibre.com \
--cc=gstols@baylibre.com \
--cc=jstephan@baylibre.com \
--cc=krzk+dt@kernel.org \
--cc=lars@metafoo.de \
--cc=linux-fbdev@vger.kernel.org \
--cc=linux-iio@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=robh@kernel.org \
--cc=stefan.popa@analog.com \
/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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).