diff options
author | Simon Glass <sjg@chromium.org> | 2022-12-22 02:08:19 +0300 |
---|---|---|
committer | Simon Glass <sjg@chromium.org> | 2023-01-18 21:49:13 +0300 |
commit | b62d34937ad9eeb4ee67eb62cf1937f35f0d014c (patch) | |
tree | 7ce02d74fafdd8d6fd2e19ea41788400c05b1e5e /lib | |
parent | c662d0b72272b183d66039c9337f7b58b56530ff (diff) | |
download | u-boot-b62d34937ad9eeb4ee67eb62cf1937f35f0d014c.tar.xz |
fdt: Drop ifdefs in fdtdec_prepare_fdt()
This function is a bit messy with several #ifdefs. Convert them to use C
for the conditions.
Rewrite the function comment since most of it is stale.
Signed-off-by: Simon Glass <sjg@chromium.org>
Diffstat (limited to 'lib')
-rw-r--r-- | lib/fdtdec.c | 32 |
1 files changed, 17 insertions, 15 deletions
diff --git a/lib/fdtdec.c b/lib/fdtdec.c index 6388bb8b89..891b274aa3 100644 --- a/lib/fdtdec.c +++ b/lib/fdtdec.c @@ -13,6 +13,7 @@ #include <log.h> #include <malloc.h> #include <net.h> +#include <spl.h> #include <env.h> #include <errno.h> #include <fdtdec.h> @@ -586,30 +587,31 @@ int fdtdec_get_chosen_node(const void *blob, const char *name) return fdt_path_offset(blob, prop); } -/* - * This function is a little odd in that it accesses global data. At some - * point if the architecture board.c files merge this will make more sense. - * Even now, it is common code. +/** + * fdtdec_prepare_fdt() - Check we have a valid fdt available to control U-Boot + * + * 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) { if (!gd->fdt_blob || ((uintptr_t)gd->fdt_blob & 3) || fdt_check_header(gd->fdt_blob)) { -#ifdef CONFIG_SPL_BUILD - puts("Missing DTB\n"); -#else - printf("No valid device tree binary found at %p\n", - gd->fdt_blob); -# ifdef DEBUG - if (gd->fdt_blob) { - printf("fdt_blob=%p\n", gd->fdt_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); + } } -# endif -#endif - return -1; + return -ENOENT; } + return 0; } |