summaryrefslogtreecommitdiff
path: root/drivers/of/base.c
diff options
context:
space:
mode:
authorAnton Vorontsov <avorontsov@ru.mvista.com>2008-12-05 11:15:39 +0300
committerPaul Mackerras <paulus@samba.org>2008-12-21 06:21:14 +0300
commitc1bb7c6d04ebdf48998649100c5267a9139debf5 (patch)
tree1440c7237862877945d20787589af880c30d16df /drivers/of/base.c
parentc280266a326ccabeb64b6d69fa4fd21faf5bf354 (diff)
downloadlinux-c1bb7c6d04ebdf48998649100c5267a9139debf5.tar.xz
of: Minor simplification for the of_parse_phandles_with_args()
By using 'list++' in the beginning we can simplify the code a little bit. Suggested-by: Benjamin Herrenschmidt <benh@kernel.crashing.org> Signed-off-by: Anton Vorontsov <avorontsov@ru.mvista.com> Signed-off-by: Paul Mackerras <paulus@samba.org>
Diffstat (limited to 'drivers/of/base.c')
-rw-r--r--drivers/of/base.c11
1 files changed, 4 insertions, 7 deletions
diff --git a/drivers/of/base.c b/drivers/of/base.c
index 4f884a358a7b..cf04d4dd4a53 100644
--- a/drivers/of/base.c
+++ b/drivers/of/base.c
@@ -547,14 +547,12 @@ int of_parse_phandles_with_args(struct device_node *np, const char *list_name,
const u32 *cells;
const phandle *phandle;
- phandle = list;
- args = list + 1;
+ phandle = list++;
+ args = list;
/* one cell hole in the list = <>; */
- if (!*phandle) {
- list++;
+ if (!*phandle)
goto next;
- }
node = of_find_node_by_phandle(*phandle);
if (!node) {
@@ -570,8 +568,7 @@ int of_parse_phandles_with_args(struct device_node *np, const char *list_name,
goto err1;
}
- /* Next phandle is at offset of one phandle cell + #cells */
- list += 1 + *cells;
+ list += *cells;
if (list > list_end) {
pr_debug("%s: insufficient arguments length\n",
np->full_name);