Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

pmdomain: qcom: rpmhpd: Simplify locking with guard()

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>

authored by

Krzysztof Kozlowski and committed by
Ulf Hansson
005d29ac ba3a65c6

+5 -6
+5 -6
drivers/pmdomain/qcom/rpmhpd.c
··· 1 1 // SPDX-License-Identifier: GPL-2.0 2 2 /* Copyright (c) 2018, The Linux Foundation. All rights reserved.*/ 3 3 4 + #include <linux/cleanup.h> 4 5 #include <linux/err.h> 5 6 #include <linux/init.h> 6 7 #include <linux/kernel.h> ··· 776 775 unsigned int level) 777 776 { 778 777 struct rpmhpd *pd = domain_to_rpmhpd(domain); 779 - int ret = 0, i; 778 + int ret, i; 780 779 781 - mutex_lock(&rpmhpd_lock); 780 + guard(mutex)(&rpmhpd_lock); 782 781 783 782 for (i = 0; i < pd->level_count; i++) 784 783 if (level <= pd->level[i]) ··· 798 797 799 798 ret = rpmhpd_aggregate_corner(pd, i); 800 799 if (ret) 801 - goto out; 800 + return ret; 802 801 } 803 802 804 803 pd->corner = i; 805 - out: 806 - mutex_unlock(&rpmhpd_lock); 807 804 808 - return ret; 805 + return 0; 809 806 } 810 807 811 808 static int rpmhpd_update_level_mapping(struct rpmhpd *rpmhpd)