
On Mon, May 6, 2013 at 5:31 PM, gvb.uboot@gmail.com wrote:
From: Simon Glass sjg@chromium.org
Iterating through subnodes with libfdt is a little painful to write as we need something like this:
for (depth = 0, count = 0, offset = fdt_next_node(fdt, parent_offset, &depth); (offset >= 0) && (depth > 0); offset = fdt_next_node(fdt, offset, &depth)) { if (depth == 1) { /* code body */ } }
Using fdt_next_subnode() we can instead write this, which is shorter and easier to get right:
for (offset = fdt_first_subnode(fdt, parent_offset); offset >= 0; offset = fdt_next_subnode(fdt, offset)) { /* code body */ }
Also, it doesn't require two levels of indentation for the loop body.
Signed-off-by: Simon Glass sjg@chromium.org Acked-by: David Gibson david@gibson.dropbear.id.au
Acked-by: Simon Glass sjg@chromium.org