Hi Lianghong, On 2026-07-23T01:40:21, Lianghong Liu <[email protected]> wrote: > Makefile: depend on OF_LIST dts sources for fit-dtb.blob > > When CONFIG_MULTI_DTB_FIT is enabled, fit-dtb.blob is produced by > mkimage with one "-b " argument for every entry in CONFIG_OF_LIST. > The make rule, however, only listed dts/dt.dtb (i.e. the > CONFIG_DEFAULT_DEVICE_TREE blob) as a prerequisite: > > fit-dtb.blob: dts/dt.dtb FORCE > $(call if_changed,mkimage) > > Because FORCE is PHONY, if_changed ignores it and rebuilds only when > any-prereq or arg-check is non-empty. Editing a non-default dts in > OF_LIST rebuilds its .dtb (tracked correctly via fixdep), but that > .dtb was not a prerequisite of fit-dtb.blob, so $? stayed empty; the > mkimage command line was unchanged too, so arg-check was empty as > well. if_changed therefore skipped mkimage and fit-dtb.blob kept the > stale dtbs. u-boot.bin, which appends fit-dtb.blob, then shipped the > old device tree and the dts change did not take effect. > > A previous attempt to fix this added every OF_LIST .dtb *output* as a > prerequisite. That is wrong on two counts:
Thanks Reviewed-by: Simon Glass <[email protected]> Regards, Simon
