aboutsummaryrefslogtreecommitdiff
path: root/lib/fdtdec.c
diff options
context:
space:
mode:
authorSimon Glass <sjg@chromium.org>2022-12-21 16:08:19 -0700
committerSimon Glass <sjg@chromium.org>2023-01-18 11:49:13 -0700
commitb62d34937ad9eeb4ee67eb62cf1937f35f0d014c (patch)
tree7ce02d74fafdd8d6fd2e19ea41788400c05b1e5e /lib/fdtdec.c
parentc662d0b72272b183d66039c9337f7b58b56530ff (diff)
downloadu-boot-b62d34937ad9eeb4ee67eb62cf1937f35f0d014c.zip
u-boot-b62d34937ad9eeb4ee67eb62cf1937f35f0d014c.tar.gz
u-boot-b62d34937ad9eeb4ee67eb62cf1937f35f0d014c.tar.bz2
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/fdtdec.c')
-rw-r--r--lib/fdtdec.c32
1 files changed, 17 insertions, 15 deletions
diff --git a/lib/fdtdec.c b/lib/fdtdec.c
index 6388bb8..891b274 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;
}