PCI: mediatek: Use helper function for_each_available_child_of_node_scoped()
authorZhang Zekun <zhangzekun11@huawei.com>
Sat, 31 Aug 2024 04:04:10 +0000 (12:04 +0800)
committerKrzysztof Wilczyński <kwilczynski@kernel.org>
Thu, 6 Mar 2025 09:31:45 +0000 (09:31 +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-4-zhangzekun11@huawei.com
[kwilczynski: commit log]
Signed-off-by: Krzysztof Wilczyński <kwilczynski@kernel.org>
drivers/pci/controller/pcie-mediatek.c

index 3bcfc4e58ba244740e6ee5e3d6bd20f8b2614364..811a8b4acd504c53756b7d2f9b00582fc9fff36d 100644 (file)
@@ -1041,24 +1041,22 @@ err_free_ck:
 static int mtk_pcie_setup(struct mtk_pcie *pcie)
 {
        struct device *dev = pcie->dev;
-       struct device_node *node = dev->of_node, *child;
+       struct device_node *node = dev->of_node;
        struct mtk_pcie_port *port, *tmp;
        int err, slot;
 
        slot = of_get_pci_domain_nr(dev->of_node);
        if (slot < 0) {
-               for_each_available_child_of_node(node, child) {
+               for_each_available_child_of_node_scoped(node, child) {
                        err = of_pci_get_devfn(child);
-                       if (err < 0) {
-                               dev_err(dev, "failed to get devfn: %d\n", err);
-                               goto error_put_node;
-                       }
+                       if (err < 0)
+                               return dev_err_probe(dev, err, "failed to get devfn\n");
 
                        slot = PCI_SLOT(err);
 
                        err = mtk_pcie_parse_port(pcie, child, slot);
                        if (err)
-                               goto error_put_node;
+                               return err;
                }
        } else {
                err = mtk_pcie_parse_port(pcie, node, slot);
@@ -1079,9 +1077,6 @@ static int mtk_pcie_setup(struct mtk_pcie *pcie)
                mtk_pcie_subsys_powerdown(pcie);
 
        return 0;
-error_put_node:
-       of_node_put(child);
-       return err;
 }
 
 static int mtk_pcie_probe(struct platform_device *pdev)