diff options
author | Joerg Roedel <jroedel@suse.de> | 2016-04-04 17:49:20 +0200 |
---|---|---|
committer | Rob Herring <robh@kernel.org> | 2016-04-20 00:25:14 +0200 |
commit | f623ce95a51baee6a6638f0b025efc0229a9ac0d (patch) | |
tree | a54f340319d4a3b5968263367da290c1a396b9f8 /drivers/of | |
parent | of: Remove counting special case from __of_parse_phandle_with_args() (diff) | |
download | linux-f623ce95a51baee6a6638f0b025efc0229a9ac0d.tar.xz linux-f623ce95a51baee6a6638f0b025efc0229a9ac0d.zip |
of: Introduce of_for_each_phandle() helper macro
With this macro any user can easily iterate over a list of
phandles. The patch also converts __of_parse_phandle_with_args()
to make use of the macro.
The of_count_phandle_with_args() function is not converted,
because the macro hides the return value of of_phandle_iterator_init(),
which is needed in there.
Signed-off-by: Joerg Roedel <jroedel@suse.de>
Signed-off-by: Rob Herring <robh@kernel.org>
Diffstat (limited to 'drivers/of')
-rw-r--r-- | drivers/of/base.c | 7 |
1 files changed, 1 insertions, 6 deletions
diff --git a/drivers/of/base.c b/drivers/of/base.c index fcff2b62ec10..ea5a13d3c5a5 100644 --- a/drivers/of/base.c +++ b/drivers/of/base.c @@ -1543,13 +1543,8 @@ static int __of_parse_phandle_with_args(const struct device_node *np, struct of_phandle_iterator it; int rc, cur_index = 0; - rc = of_phandle_iterator_init(&it, np, list_name, - cells_name, cell_count); - if (rc) - return rc; - /* Loop over the phandles until all the requested entry is found */ - while ((rc = of_phandle_iterator_next(&it)) == 0) { + of_for_each_phandle(&it, rc, np, list_name, cells_name, cell_count) { /* * All of the error cases bail out of the loop, so at * this point, the parsing is successful. If the requested |