]> git.ipfire.org Git - thirdparty/kernel/linux.git/commitdiff
PCI: kirin: Use helper function for_each_available_child_of_node_scoped()
authorZhang Zekun <zhangzekun11@huawei.com>
Sat, 31 Aug 2024 04:04:08 +0000 (12:04 +0800)
committerKrzysztof Wilczyński <kwilczynski@kernel.org>
Wed, 5 Mar 2025 10:44:44 +0000 (10:44 +0000)
The for_each_available_child_of_node_scoped() helper provides
a scope-based clean-up functionality to put the device_node
automatically, and as such, there is no need to call of_node_put()
directly.

Thus, use this helper to simplify the code.

Signed-off-by: Zhang Zekun <zhangzekun11@huawei.com>
Reviewed-by: Jonathan Cameron <Jonathan.Cameron@huawei.com>
Reviewed-by: Manivannan Sadhasivam <manivannan.sadhasivam@linaro.org>
Link: https://lore.kernel.org/r/20240831040413.126417-2-zhangzekun11@huawei.com
[kwilczynski: commit log]
Signed-off-by: Krzysztof Wilczyński <kwilczynski@kernel.org>
drivers/pci/controller/dwc/pcie-kirin.c

index 1b2088acb538b83a1cab5e0aa71f296c748f5456..eeff8bfcdf8beb799e8fc5399bf1109b711833b0 100644 (file)
@@ -452,7 +452,7 @@ static long kirin_pcie_get_resource(struct kirin_pcie *kirin_pcie,
                                    struct platform_device *pdev)
 {
        struct device *dev = &pdev->dev;
-       struct device_node *child, *node = dev->of_node;
+       struct device_node *node = dev->of_node;
        void __iomem *apb_base;
        int ret;
 
@@ -477,17 +477,13 @@ static long kirin_pcie_get_resource(struct kirin_pcie *kirin_pcie,
                return ret;
 
        /* Parse OF children */
-       for_each_available_child_of_node(node, child) {
+       for_each_available_child_of_node_scoped(node, child) {
                ret = kirin_pcie_parse_port(kirin_pcie, pdev, child);
                if (ret)
-                       goto put_node;
+                       return ret;
        }
 
        return 0;
-
-put_node:
-       of_node_put(child);
-       return ret;
 }
 
 static void kirin_pcie_sideband_dbi_w_mode(struct kirin_pcie *kirin_pcie,