mirror of
https://xff.cz/git/u-boot/
synced 2025-10-27 00:24:09 +01:00
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>
(Cherry-picked from dtc commit 4e76ec79)
Acked-by: Gerald Van Baren <vanbaren@cideas.com>
The libfdt functionality was written by David Gibson. The original source came from the git repository: URL: git://ozlabs.org/home/dgibson/git/libfdt.git author David Gibson <dgibson@sneetch.(none)> Fri, 23 Mar 2007 04:16:54 +0000 (15:16 +1100) committer David Gibson <dgibson@sneetch.(none)> Fri, 23 Mar 2007 04:16:54 +0000 (15:16 +1100) commit 857f54e79f74429af20c2b5ecc00ee98af6a3b8b tree 2f648f0f88225a51ded452968d28b4402df8ade0 parent 07a12a08005f3b5cd9337900a6551e450c07b515 To adapt for u-boot usage, only the applicable files were copied and imported into the u-boot git repository. Omitted: * GPL - u-boot comes with a copy of the GPL license * test subdirectory - not directly useful for u-boot After importing, other customizations were performed. See the git log for details. Jerry Van Baren