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

Signed-off-by: Krzysztof Kozlowski <[email protected]>

---

Depends on the first patch.
---
 arch/powerpc/platforms/44x/fsp2.c | 5 +----
 1 file changed, 1 insertion(+), 4 deletions(-)

diff --git a/arch/powerpc/platforms/44x/fsp2.c 
b/arch/powerpc/platforms/44x/fsp2.c
index f6b8d02e08b0..b06d9220844c 100644
--- a/arch/powerpc/platforms/44x/fsp2.c
+++ b/arch/powerpc/platforms/44x/fsp2.c
@@ -199,16 +199,14 @@ static irqreturn_t rst_wrn_handler(int irq, void *data) {
 
 static void __init node_irq_request(const char *compat, irq_handler_t 
errirq_handler)
 {
-       struct device_node *np;
        unsigned int irq;
        int32_t rc;
 
-       for_each_compatible_node(np, NULL, compat) {
+       for_each_compatible_node_scoped(np, NULL, compat) {
                irq = irq_of_parse_and_map(np, 0);
                if (!irq) {
                        pr_err("device tree node %pOFn is missing a interrupt",
                              np);
-                       of_node_put(np);
                        return;
                }
 
@@ -216,7 +214,6 @@ static void __init node_irq_request(const char *compat, 
irq_handler_t errirq_han
                if (rc) {
                        pr_err("fsp_of_probe: request_irq failed: np=%pOF 
rc=%d",
                              np, rc);
-                       of_node_put(np);
                        return;
                }
        }

-- 
2.51.0


Reply via email to