Message ID | 20210401182531.2147653-2-mr.nuke.me@gmail.com |
---|---|
State | Accepted |
Commit | 18fd663c630729695caba060aca394d8a910c573 |
Delegated to: | Tom Rini |
Headers | show |
Series | SPL: FIT: Fix some omissions of SPL_LOAD_FIT_FULL and bootm | expand |
On Thu, Apr 01, 2021 at 01:25:26PM -0500, Alexandru Gagniuc wrote: > The correct FDT to use is described by the "fdt" property of the > configuration node. When the fit_unamep argument to fit_image_load() > is "fdt", we get the "/images/fdt" node. This is incorrect, as it > ignores the "fdt" property of the config node, and in most cases, > the "/images/fdt" node doesn't exist. > > Use NULL for the 'fit_unamep' argument. With NULL, fit_image_load() > uses the IH_TYPE_FLATDT value to read the config property "fdt", > which points to the correct FDT node(s). > > fit_image_load() should probably be split into a function that reads > an image by name, and one that reads an image by config reference. I > don't make those decisions, I just point out the craziness. > > Signed-off-by: Alexandru Gagniuc <mr.nuke.me@gmail.com> > Reviewed-by: Simon Glass <sjg@chromium.org> Applied to u-boot/master, thanks!
diff --git a/common/spl/spl.c b/common/spl/spl.c index e3d84082f4..986cfbc6fd 100644 --- a/common/spl/spl.c +++ b/common/spl/spl.c @@ -201,7 +201,6 @@ static int spl_load_fit_image(struct spl_image_info *spl_image, { bootm_headers_t images; const char *fit_uname_config = NULL; - const char *fit_uname_fdt = FIT_FDT_PROP; const char *uname; ulong fw_data = 0, dt_data = 0, img_data = 0; ulong fw_len = 0, dt_len = 0, img_len = 0; @@ -230,8 +229,7 @@ static int spl_load_fit_image(struct spl_image_info *spl_image, #ifdef CONFIG_SPL_FIT_SIGNATURE images.verify = 1; #endif - ret = fit_image_load(&images, (ulong)header, - &fit_uname_fdt, &fit_uname_config, + ret = fit_image_load(&images, (ulong)header, NULL, &fit_uname_config, IH_ARCH_DEFAULT, IH_TYPE_FLATDT, -1, FIT_LOAD_OPTIONAL, &dt_data, &dt_len); if (ret >= 0)