]> git.ipfire.org Git - thirdparty/kernel/linux.git/commitdiff
pinctrl: rockchip: Simplify locking with scoped_guard()
authorKrzysztof Kozlowski <krzysztof.kozlowski@oss.qualcomm.com>
Sun, 18 Jan 2026 18:09:33 +0000 (19:09 +0100)
committerLinus Walleij <linusw@kernel.org>
Mon, 19 Jan 2026 00:11:47 +0000 (01:11 +0100)
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>
drivers/pinctrl/pinctrl-rockchip.c

index e44ef262beec6ed7ee19e29a71d71a6e8aa7da2f..bbe1cf712965b33839c22fae8d5d131c76ea7f73 100644 (file)
@@ -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) {