]> git.ipfire.org Git - thirdparty/kernel/linux.git/commitdiff
pmdomain: qcom: rpmhpd: Simplify locking with guard()
authorKrzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
Fri, 23 Aug 2024 12:51:11 +0000 (14:51 +0200)
committerUlf Hansson <ulf.hansson@linaro.org>
Fri, 13 Sep 2024 10:21:04 +0000 (12:21 +0200)
Simplify error handling (less gotos) over locks with guard().

Signed-off-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
Reviewed-by: Konrad Dybcio <konradybcio@kernel.org>
Link: https://lore.kernel.org/r/20240823-cleanup-h-guard-pm-domain-v1-7-8320722eaf39@linaro.org
Signed-off-by: Ulf Hansson <ulf.hansson@linaro.org>
drivers/pmdomain/qcom/rpmhpd.c

index d2cb4271a1cad024f21c65ada64097887d53c85c..65505e1e221986ad20751b658374dd0e74719703 100644 (file)
@@ -1,6 +1,7 @@
 // SPDX-License-Identifier: GPL-2.0
 /* Copyright (c) 2018, The Linux Foundation. All rights reserved.*/
 
+#include <linux/cleanup.h>
 #include <linux/err.h>
 #include <linux/init.h>
 #include <linux/kernel.h>
@@ -775,9 +776,9 @@ static int rpmhpd_set_performance_state(struct generic_pm_domain *domain,
                                        unsigned int level)
 {
        struct rpmhpd *pd = domain_to_rpmhpd(domain);
-       int ret = 0, i;
+       int ret, i;
 
-       mutex_lock(&rpmhpd_lock);
+       guard(mutex)(&rpmhpd_lock);
 
        for (i = 0; i < pd->level_count; i++)
                if (level <= pd->level[i])
@@ -797,14 +798,12 @@ static int rpmhpd_set_performance_state(struct generic_pm_domain *domain,
 
                ret = rpmhpd_aggregate_corner(pd, i);
                if (ret)
-                       goto out;
+                       return ret;
        }
 
        pd->corner = i;
-out:
-       mutex_unlock(&rpmhpd_lock);
 
-       return ret;
+       return 0;
 }
 
 static int rpmhpd_update_level_mapping(struct rpmhpd *rpmhpd)