diff options
author | Simon Glass | 2022-12-21 16:08:20 -0700 |
---|---|---|
committer | Simon Glass | 2023-01-18 11:49:13 -0700 |
commit | ec4f327145ead89a5fd6714baa878112818b7147 (patch) | |
tree | c1ccadde998235ea0bfc925ce15536ff1b6b55df /lib/fdtdec.c | |
parent | b62d34937ad9eeb4ee67eb62cf1937f35f0d014c (diff) |
fdt: Pass the device tree to fdtdec_prepare_fdt()
This function uses gd->fdt_blob a lot and cannot be used to check any
other device tree. Use a parameter instead.
Signed-off-by: Simon Glass <sjg@chromium.org>
Diffstat (limited to 'lib/fdtdec.c')
-rw-r--r-- | lib/fdtdec.c | 22 |
1 files changed, 11 insertions, 11 deletions
diff --git a/lib/fdtdec.c b/lib/fdtdec.c index 891b274aa3c..03c9ceab773 100644 --- a/lib/fdtdec.c +++ b/lib/fdtdec.c @@ -590,23 +590,23 @@ int fdtdec_get_chosen_node(const void *blob, const char *name) /** * fdtdec_prepare_fdt() - Check we have a valid fdt available to control U-Boot * + * @blob: Blob to check + * * If not, a message is printed to the console if the console is ready. * * Return: 0 if all ok, -ENOENT if not */ -static int fdtdec_prepare_fdt(void) +static int fdtdec_prepare_fdt(const void *blob) { - if (!gd->fdt_blob || ((uintptr_t)gd->fdt_blob & 3) || - fdt_check_header(gd->fdt_blob)) { + if (!blob || ((uintptr_t)blob & 3) || fdt_check_header(blob)) { if (spl_phase() <= PHASE_SPL) { puts("Missing DTB\n"); } else { printf("No valid device tree binary found at %p\n", - gd->fdt_blob); - if (_DEBUG && gd->fdt_blob) { - printf("fdt_blob=%p\n", gd->fdt_blob); - print_buffer((ulong)gd->fdt_blob, gd->fdt_blob, 4, - 32, 0); + blob); + if (_DEBUG && blob) { + printf("fdt_blob=%p\n", blob); + print_buffer((ulong)blob, blob, 4, 32, 0); } } return -ENOENT; @@ -623,7 +623,7 @@ int fdtdec_check_fdt(void) * FDT (prior to console ready) will need to make their own * arrangements and do their own checks. */ - assert(!fdtdec_prepare_fdt()); + assert(!fdtdec_prepare_fdt(gd->fdt_blob)); return 0; } @@ -1668,7 +1668,7 @@ int fdtdec_setup(void) if (CONFIG_IS_ENABLED(MULTI_DTB_FIT)) setup_multi_dtb_fit(); - ret = fdtdec_prepare_fdt(); + ret = fdtdec_prepare_fdt(gd->fdt_blob); if (!ret) ret = fdtdec_board_setup(gd->fdt_blob); oftree_reset(); @@ -1700,7 +1700,7 @@ int fdtdec_resetup(int *rescan) *rescan = 1; gd->fdt_blob = fdt_blob; - return fdtdec_prepare_fdt(); + return fdtdec_prepare_fdt(fdt_blob); } /* |