[PATCH v1 0/3] boot/fit: use fdt_for_each_subnode() in image-fit.c
Aristo Chen
aristo.chen at canonical.com
Fri May 8 23:31:58 CEST 2026
This series ends with replacing the verbose fdt_next_node() + ndepth
idiom in boot/image-fit.c with fdt_for_each_subnode(), bringing the
file in line with boot/image-fit-sig.c. Six of the seven sites in
image-fit.c predate the macro by 2-6 years; the seventh was
copy-pasted from a neighbour in 2015 just after the macro landed.
The old idiom is legacy, not a deliberate technical choice.
Converting straight to the macro turned out to need a prerequisite,
which is patch 1. fit_print_contents() reads the default-config
property using the loop variable left over after iterating /images
children. With /images defined first in the source (the conventional
layout) libfdt's walker happens to leave that variable pointing at
/configurations and the read works. With /configurations defined
first the read returns NULL and the "Default Configuration" line is
silently omitted. fdt_for_each_subnode()'s post-loop value is
unconditionally a negative error code, so a naive conversion would
have made the missing line the unconditional behaviour. Patch 1
reads the property from confs_noffset directly and removes the
layout dependency.
Patch 2 adds a regression test for the configs-before-images
layout, which had no coverage.
Patch 3 is the mechanical conversion at all seven sites,
equivalence-preserving as described in the per-patch message.
Aristo Chen (3):
boot/fit: read default-config property from the configurations node
test: fit: regression test for default-config print with reversed node
order
boot/fit: use fdt_for_each_subnode() in image-fit.c
boot/image-fit.c | 109 ++++++++++----------------------------
test/py/tests/test_fit.py | 53 ++++++++++++++++++
2 files changed, 81 insertions(+), 81 deletions(-)
--
2.43.0
More information about the U-Boot
mailing list