diff options
| author | Krzysztof Kozlowski <krzysztof.kozlowski@oss.qualcomm.com> | 2026-01-18 19:09:29 +0100 |
|---|---|---|
| committer | Linus Walleij <linusw@kernel.org> | 2026-01-19 01:11:47 +0100 |
| commit | 708adef80cb19152192df1999341542328596da5 (patch) | |
| tree | 1dfd9cb34bc8d6775083ac9d576762899e8632e5 /drivers | |
| parent | 6fe3b96b051d0ce4cbc0b76008fef0653f2e21ab (diff) | |
pinctrl: microchip-sgpio: Simplify locking with guard()
Simplify error handling (less gotos) over locks with guard().
Signed-off-by: Krzysztof Kozlowski <krzysztof.kozlowski@oss.qualcomm.com>
Signed-off-by: Linus Walleij <linusw@kernel.org>
Diffstat (limited to 'drivers')
| -rw-r--r-- | drivers/pinctrl/pinctrl-microchip-sgpio.c | 6 |
1 files changed, 2 insertions, 4 deletions
diff --git a/drivers/pinctrl/pinctrl-microchip-sgpio.c b/drivers/pinctrl/pinctrl-microchip-sgpio.c index b6363f3cdce9..7a6cb5f502b0 100644 --- a/drivers/pinctrl/pinctrl-microchip-sgpio.c +++ b/drivers/pinctrl/pinctrl-microchip-sgpio.c @@ -264,19 +264,17 @@ static int sgpio_single_shot(struct sgpio_priv *priv) * setting. * After the manual burst, reenable the auto repeat mode again. */ - mutex_lock(&priv->poll_lock); + guard(mutex)(&priv->poll_lock); ret = regmap_update_bits(priv->regs, addr, single_shot | auto_repeat, single_shot); if (ret) - goto out; + return ret; ret = regmap_read_poll_timeout(priv->regs, addr, ctrl, !(ctrl & single_shot), 100, 60000); /* reenable auto repeat mode even if there was an error */ ret2 = regmap_update_bits(priv->regs, addr, auto_repeat, auto_repeat); -out: - mutex_unlock(&priv->poll_lock); return ret ?: ret2; } |
