summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKrzysztof Kozlowski <krzysztof.kozlowski@oss.qualcomm.com>2026-01-18 19:09:33 +0100
committerLinus Walleij <linusw@kernel.org>2026-01-19 01:11:47 +0100
commite2c58cbe3aff49fe201e81ee5f651294e313ec74 (patch)
tree6de3561ac7d64a89f2e05f6c55f0fabe220f839e
parent160d686fbf8f9ee5aca85ee27557afb55358edae (diff)
pinctrl: rockchip: Simplify locking with scoped_guard()
Simplify error handling by removing two mutex_unlock() calls with scoped_guard(). Reviewed-by: Heiko Stuebner <heiko@sntech.de> Signed-off-by: Krzysztof Kozlowski <krzysztof.kozlowski@oss.qualcomm.com> Signed-off-by: Linus Walleij <linusw@kernel.org>
-rw-r--r--drivers/pinctrl/pinctrl-rockchip.c19
1 files changed, 9 insertions, 10 deletions
diff --git a/drivers/pinctrl/pinctrl-rockchip.c b/drivers/pinctrl/pinctrl-rockchip.c
index e44ef262beec..bbe1cf712965 100644
--- a/drivers/pinctrl/pinctrl-rockchip.c
+++ b/drivers/pinctrl/pinctrl-rockchip.c
@@ -3640,17 +3640,16 @@ static int rockchip_pinconf_set(struct pinctrl_dev *pctldev, unsigned int pin,
* The lock makes sure that either gpio-probe has completed
* or the gpio driver hasn't probed yet.
*/
- mutex_lock(&bank->deferred_lock);
- if (!gpio || !gpio->direction_output) {
- rc = rockchip_pinconf_defer_pin(bank, pin - bank->pin_base, param,
- arg);
- mutex_unlock(&bank->deferred_lock);
- if (rc)
- return rc;
-
- break;
+ scoped_guard(mutex, &bank->deferred_lock) {
+ if (!gpio || !gpio->direction_output) {
+ rc = rockchip_pinconf_defer_pin(bank,
+ pin - bank->pin_base,
+ param, arg);
+ if (rc)
+ return rc;
+ break;
+ }
}
- mutex_unlock(&bank->deferred_lock);
}
switch (param) {