Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > linux.kernel > #1452239
| From | Andrew Donnellan <andrew.donnellan@au1.ibm.com> |
|---|---|
| Newsgroups | linux.kernel |
| Subject | [PATCH] cxl: replace loop with for_each_child_of_node(), remove unneeded of_node_put() |
| Date | 2016-07-29 06:00 +0200 |
| Message-ID | <s077P-7Eh-3@gated-at.bofh.it> (permalink) |
| References | <rZsR3-5wS-15@gated-at.bofh.it> |
| Organization | linux.* mail to news gateway |
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: SF Markus Elfring <elfring@users.sourceforge.net>
Reported-by: Julia Lawall <julia.lawall@lip6.fr>
Signed-off-by: Andrew Donnellan <andrew.donnellan@au1.ibm.com>
---
Checked the of_node_put() with Fred, he thinks it was probably just left
over from an earlier private version of the code and we can just get rid of
it.
---
drivers/misc/cxl/of.c | 8 +++-----
1 file changed, 3 insertions(+), 5 deletions(-)
diff --git a/drivers/misc/cxl/of.c b/drivers/misc/cxl/of.c
index edc4583..ec175ea 100644
--- a/drivers/misc/cxl/of.c
+++ b/drivers/misc/cxl/of.c
@@ -460,7 +460,7 @@ int cxl_of_probe(struct platform_device *pdev)
struct device_node *afu_np = NULL;
struct cxl *adapter = NULL;
int ret;
- int slice, slice_ok;
+ int slice = 0, slice_ok = 0;
pr_devel("in %s\n", __func__);
@@ -476,13 +476,13 @@ int cxl_of_probe(struct platform_device *pdev)
}
/* init afu */
- slice_ok = 0;
- for (afu_np = NULL, slice = 0; (afu_np = of_get_next_child(np, afu_np)); slice++) {
+ for_each_child_of_node(np, afu_np) {
if ((ret = cxl_guest_init_afu(adapter, slice, afu_np)))
dev_err(&pdev->dev, "AFU %i failed to initialise: %i\n",
slice, ret);
else
slice_ok++;
+ slice++;
}
if (slice_ok == 0) {
@@ -490,8 +490,6 @@ int cxl_of_probe(struct platform_device *pdev)
adapter->slices = 0;
}
- if (afu_np)
- of_node_put(afu_np);
return 0;
}
--
Andrew Donnellan OzLabs, ADL Canberra
andrew.donnellan@au1.ibm.com IBM Australia Limited
Back to linux.kernel | Previous | Next — Previous in thread | Next in thread | Find similar | Unroll thread
Re: [PATCH] cxl: Delete an unnecessary check before the function call "of_node_put" Andrew Donnellan <andrew.donnellan@au1.ibm.com> - 2016-07-27 11:00 +0200
[PATCH] cxl: replace loop with for_each_child_of_node(), remove unneeded of_node_put() Andrew Donnellan <andrew.donnellan@au1.ibm.com> - 2016-07-29 06:00 +0200
Re: [PATCH] cxl: replace loop with for_each_child_of_node(), remove unneeded of_node_put() Frederic Barrat <fbarrat@linux.vnet.ibm.com> - 2016-07-29 09:50 +0200
Re: [PATCH] cxl: replace loop with for_each_child_of_node(), remove unneeded of_node_put() Julia Lawall <julia.lawall@lip6.fr> - 2016-07-29 10:50 +0200
Re: [PATCH] cxl: replace loop with for_each_child_of_node(), remove unneeded of_node_put() walter harms <wharms@bfs.de> - 2016-07-29 10:50 +0200
Re: [PATCH] cxl: replace loop with for_each_child_of_node(), remove unneeded of_node_put() Michael Ellerman <mpe@ellerman.id.au> - 2016-07-29 13:40 +0200
Re: [PATCH] cxl: replace loop with for_each_child_of_node(), remove unneeded of_node_put() Frederic Barrat <fbarrat@linux.vnet.ibm.com> - 2016-08-01 19:40 +0200
csiph-web