summaryrefslogtreecommitdiff
path: root/drivers/pmdomain
diff options
context:
space:
mode:
authorZhang Zekun <zhangzekun11@huawei.com>2024-08-21 06:40:21 +0300
committerUlf Hansson <ulf.hansson@linaro.org>2024-09-13 12:56:33 +0300
commitf253f6d922da29d0d7091801cbc9b4166c3959fe (patch)
treebf4b5ae3918039504b833cfc52e577692a43d3c1 /drivers/pmdomain
parent9e5eb7403cb6023642e48fc293f519ce5e8e8d8d (diff)
downloadlinux-f253f6d922da29d0d7091801cbc9b4166c3959fe.tar.xz
pmdomain: qcom-cpr: Use helper function for_each_available_child_of_node()
for_each_available_child_of_node() can help to iterate through the device_node, and we don't need to use while loop. Besides, the purpose of the while loop is to find a device_node which fits the condition "child_req_np == ref_np", we can just read the property of "child_np" directly in for_each_available_child_of_node(). No functional change with such conversion. Signed-off-by: Zhang Zekun <zhangzekun11@huawei.com> Link: https://lore.kernel.org/r/20240821034022.27394-2-zhangzekun11@huawei.com Signed-off-by: Ulf Hansson <ulf.hansson@linaro.org>
Diffstat (limited to 'drivers/pmdomain')
-rw-r--r--drivers/pmdomain/qcom/cpr.c12
1 files changed, 6 insertions, 6 deletions
diff --git a/drivers/pmdomain/qcom/cpr.c b/drivers/pmdomain/qcom/cpr.c
index c64e84a27cc7..1834b3861232 100644
--- a/drivers/pmdomain/qcom/cpr.c
+++ b/drivers/pmdomain/qcom/cpr.c
@@ -1054,14 +1054,14 @@ static unsigned long cpr_get_opp_hz_for_req(struct dev_pm_opp *ref,
if (!ref_np)
goto out_ref;
- do {
+ for_each_available_child_of_node(desc_np, child_np) {
of_node_put(child_req_np);
- child_np = of_get_next_available_child(desc_np, child_np);
child_req_np = of_parse_phandle(child_np, "required-opps", 0);
- } while (child_np && child_req_np != ref_np);
-
- if (child_np && child_req_np == ref_np)
- of_property_read_u64(child_np, "opp-hz", &rate);
+ if (child_req_np == ref_np) {
+ of_property_read_u64(child_np, "opp-hz", &rate);
+ break;
+ }
+ }
of_node_put(child_req_np);
of_node_put(child_np);