]> git.ipfire.org Git - thirdparty/kernel/linux.git/commitdiff
firmware: arm_scmi: Simplify with scoped for each OF child loop
authorKrzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
Fri, 16 Aug 2024 15:14:07 +0000 (17:14 +0200)
committerSudeep Holla <sudeep.holla@arm.com>
Sun, 18 Aug 2024 19:22:16 +0000 (20:22 +0100)
Use scoped for_each_child_of_node_scoped() when iterating over device
nodes to make code a bit simpler.

Signed-off-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
Reviewed-by: Cristian Marussi <cristian.marussi@arm.com>
Message-Id: <20240816151407.155034-1-krzysztof.kozlowski@linaro.org>
Signed-off-by: Sudeep Holla <sudeep.holla@arm.com>
drivers/firmware/arm_scmi/driver.c

index 119c9b6ae3c12ea4a500fff1b2568cbed52567ab..918d7287ecf43f0401cf20795106f6d83fc7d95a 100644 (file)
@@ -2733,14 +2733,14 @@ scmi_txrx_setup(struct scmi_info *info, struct device_node *of_node,
 static int scmi_channels_setup(struct scmi_info *info)
 {
        int ret;
-       struct device_node *child, *top_np = info->dev->of_node;
+       struct device_node *top_np = info->dev->of_node;
 
        /* Initialize a common generic channel at first */
        ret = scmi_txrx_setup(info, top_np, SCMI_PROTOCOL_BASE);
        if (ret)
                return ret;
 
-       for_each_available_child_of_node(top_np, child) {
+       for_each_available_child_of_node_scoped(top_np, child) {
                u32 prot_id;
 
                if (of_property_read_u32(child, "reg", &prot_id))
@@ -2751,10 +2751,8 @@ static int scmi_channels_setup(struct scmi_info *info)
                                "Out of range protocol %d\n", prot_id);
 
                ret = scmi_txrx_setup(info, child, prot_id);
-               if (ret) {
-                       of_node_put(child);
+               if (ret)
                        return ret;
-               }
        }
 
        return 0;