]> git.ipfire.org Git - thirdparty/u-boot.git/commit
Merge patch series "boot/fit: use fdt_for_each_subnode() in image-fit.c"
authorTom Rini <trini@konsulko.com>
Mon, 25 May 2026 19:44:28 +0000 (13:44 -0600)
committerTom Rini <trini@konsulko.com>
Mon, 25 May 2026 19:44:28 +0000 (13:44 -0600)
commit77efd55f89e406d49a8697fd5475b6ab2ba6497c
tree03fd04d4d446dbf134331651c1ea3a232273b412
parenta219f64c2794135b44ab9aa9b808c5c25d18262c
parent2c9b117aa4811d583f2832b37a69f25c761ffc86
Merge patch series "boot/fit: use fdt_for_each_subnode() in image-fit.c"

Aristo Chen <aristo.chen@canonical.com> says:

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.

Link: https://lore.kernel.org/r/20260508213217.3807786-1-aristo.chen@canonical.com
boot/image-fit.c
test/py/tests/test_fit.py