PCI: apple: Use helper function for_each_child_of_node_scoped()
authorZhang Zekun <zhangzekun11@huawei.com>
Sat, 31 Aug 2024 04:04:12 +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-6-zhangzekun11@huawei.com
[kwilczynski: commit log]
Signed-off-by: Krzysztof Wilczyński <kwilczynski@kernel.org>
drivers/pci/controller/pcie-apple.c

index a7e51bc1c2fe8ec31902816e9be6749b756ec77d..18e11b9a7f46479348815c3f706319189e0a80b5 100644 (file)
@@ -732,7 +732,6 @@ static int apple_pcie_init(struct pci_config_window *cfg)
 {
        struct device *dev = cfg->parent;
        struct platform_device *platform = to_platform_device(dev);
-       struct device_node *of_port;
        struct apple_pcie *pcie;
        int ret;
 
@@ -755,11 +754,10 @@ static int apple_pcie_init(struct pci_config_window *cfg)
        if (ret)
                return ret;
 
-       for_each_child_of_node(dev->of_node, of_port) {
+       for_each_child_of_node_scoped(dev->of_node, of_port) {
                ret = apple_pcie_setup_port(pcie, of_port);
                if (ret) {
                        dev_err(pcie->dev, "Port %pOF setup fail: %d\n", of_port, ret);
-                       of_node_put(of_port);
                        return ret;
                }
        }