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

index 34a373f7e04dd9441dba2f33477d0015b229eae5..c6a51bb212152c85b2ab323ef17b81aaed4145e0 100644 (file)
@@ -478,10 +478,10 @@ static void tegra_xusb_padctl_enable(struct tegra_xusb_padctl *padctl)
 {
        u32 value;
 
-       mutex_lock(&padctl->lock);
+       guard(mutex)(&padctl->lock);
 
        if (padctl->enable++ > 0)
-               goto out;
+               return;
 
        value = padctl_readl(padctl, XUSB_PADCTL_ELPG_PROGRAM);
        value &= ~XUSB_PADCTL_ELPG_PROGRAM_AUX_MUX_LP0_CLAMP_EN;
@@ -498,22 +498,19 @@ static void tegra_xusb_padctl_enable(struct tegra_xusb_padctl *padctl)
        value = padctl_readl(padctl, XUSB_PADCTL_ELPG_PROGRAM);
        value &= ~XUSB_PADCTL_ELPG_PROGRAM_AUX_MUX_LP0_VCORE_DOWN;
        padctl_writel(padctl, value, XUSB_PADCTL_ELPG_PROGRAM);
-
-out:
-       mutex_unlock(&padctl->lock);
 }
 
 static void tegra_xusb_padctl_disable(struct tegra_xusb_padctl *padctl)
 {
        u32 value;
 
-       mutex_lock(&padctl->lock);
+       guard(mutex)(&padctl->lock);
 
        if (WARN_ON(padctl->enable == 0))
-               goto out;
+               return;
 
        if (--padctl->enable > 0)
-               goto out;
+               return;
 
        value = padctl_readl(padctl, XUSB_PADCTL_ELPG_PROGRAM);
        value |= XUSB_PADCTL_ELPG_PROGRAM_AUX_MUX_LP0_VCORE_DOWN;
@@ -530,9 +527,6 @@ static void tegra_xusb_padctl_disable(struct tegra_xusb_padctl *padctl)
        value = padctl_readl(padctl, XUSB_PADCTL_ELPG_PROGRAM);
        value |= XUSB_PADCTL_ELPG_PROGRAM_AUX_MUX_LP0_CLAMP_EN;
        padctl_writel(padctl, value, XUSB_PADCTL_ELPG_PROGRAM);
-
-out:
-       mutex_unlock(&padctl->lock);
 }
 
 static int tegra_xusb_phy_init(struct phy *phy)