Commit 735840b4 authored by Andrew Donnellan's avatar Andrew Donnellan Committed by Michael Ellerman

cxl: replace loop with for_each_child_of_node(), remove unneeded of_node_put()

Rewrite the cxl_guest_init_afu() loop in cxl_of_probe() to use
for_each_child_of_node() rather than a hand-coded for loop.

Remove the useless of_node_put(afu_np) call after the loop, where it's
guaranteed that afu_np == NULL.
Reported-by: default avatarSF Markus Elfring <elfring@users.sourceforge.net>
Reported-by: default avatarJulia Lawall <julia.lawall@lip6.fr>
Signed-off-by: default avatarAndrew Donnellan <andrew.donnellan@au1.ibm.com>
Reviewed-by: default avatarFrederic Barrat <fbarrat@linux.vnet.ibm.com>
Signed-off-by: default avatarMichael Ellerman <mpe@ellerman.id.au>
parent aaa2245e
...@@ -460,7 +460,7 @@ int cxl_of_probe(struct platform_device *pdev) ...@@ -460,7 +460,7 @@ int cxl_of_probe(struct platform_device *pdev)
struct device_node *afu_np = NULL; struct device_node *afu_np = NULL;
struct cxl *adapter = NULL; struct cxl *adapter = NULL;
int ret; int ret;
int slice, slice_ok; int slice = 0, slice_ok = 0;
pr_devel("in %s\n", __func__); pr_devel("in %s\n", __func__);
...@@ -476,13 +476,13 @@ int cxl_of_probe(struct platform_device *pdev) ...@@ -476,13 +476,13 @@ int cxl_of_probe(struct platform_device *pdev)
} }
/* init afu */ /* init afu */
slice_ok = 0; for_each_child_of_node(np, afu_np) {
for (afu_np = NULL, slice = 0; (afu_np = of_get_next_child(np, afu_np)); slice++) {
if ((ret = cxl_guest_init_afu(adapter, slice, afu_np))) if ((ret = cxl_guest_init_afu(adapter, slice, afu_np)))
dev_err(&pdev->dev, "AFU %i failed to initialise: %i\n", dev_err(&pdev->dev, "AFU %i failed to initialise: %i\n",
slice, ret); slice, ret);
else else
slice_ok++; slice_ok++;
slice++;
} }
if (slice_ok == 0) { if (slice_ok == 0) {
...@@ -490,8 +490,6 @@ int cxl_of_probe(struct platform_device *pdev) ...@@ -490,8 +490,6 @@ int cxl_of_probe(struct platform_device *pdev)
adapter->slices = 0; adapter->slices = 0;
} }
if (afu_np)
of_node_put(afu_np);
return 0; return 0;
} }
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment