]> git.ipfire.org Git - thirdparty/kernel/linux.git/commitdiff
pmdomain: qcom-cpr: Use helper function for_each_available_child_of_node()
authorZhang Zekun <zhangzekun11@huawei.com>
Wed, 21 Aug 2024 03:40:21 +0000 (11:40 +0800)
committerUlf Hansson <ulf.hansson@linaro.org>
Fri, 13 Sep 2024 09:56:33 +0000 (11:56 +0200)
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>
drivers/pmdomain/qcom/cpr.c

index c64e84a27cc7f0e0ad3126df80fe4eff05799073..1834b3861232e5be86352b8006085c51c30a3623 100644 (file)
@@ -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);