Use scoped for-each loop when iterating over device nodes to make code a
bit simpler.

Signed-off-by: Krzysztof Kozlowski <[email protected]>
---
 drivers/pci/controller/pci-mvebu.c | 10 ++++------
 1 file changed, 4 insertions(+), 6 deletions(-)

diff --git a/drivers/pci/controller/pci-mvebu.c 
b/drivers/pci/controller/pci-mvebu.c
index a72aa57591c0..4d3c97b62fe0 100644
--- a/drivers/pci/controller/pci-mvebu.c
+++ b/drivers/pci/controller/pci-mvebu.c
@@ -1452,7 +1452,6 @@ static int mvebu_pcie_probe(struct platform_device *pdev)
        struct mvebu_pcie *pcie;
        struct pci_host_bridge *bridge;
        struct device_node *np = dev->of_node;
-       struct device_node *child;
        int num, i, ret;
 
        bridge = devm_pci_alloc_host_bridge(dev, sizeof(struct mvebu_pcie));
@@ -1474,16 +1473,14 @@ static int mvebu_pcie_probe(struct platform_device 
*pdev)
                return -ENOMEM;
 
        i = 0;
-       for_each_available_child_of_node(np, child) {
+       for_each_available_child_of_node_scoped(np, child) {
                struct mvebu_pcie_port *port = &pcie->ports[i];
 
                ret = mvebu_pcie_parse_port(pcie, port, child);
-               if (ret < 0) {
-                       of_node_put(child);
+               if (ret < 0)
                        return ret;
-               } else if (ret == 0) {
+               else if (ret == 0)
                        continue;
-               }
 
                port->dn = child;
                i++;
@@ -1493,6 +1490,7 @@ static int mvebu_pcie_probe(struct platform_device *pdev)
        for (i = 0; i < pcie->nports; i++) {
                struct mvebu_pcie_port *port = &pcie->ports[i];
                int irq = port->intx_irq;
+               struct device_node *child;
 
                child = port->dn;
                if (!child)
-- 
2.51.0


Reply via email to