[U-Boot] [PATCH] image: fix compiling without CMD_FDT

Simon Goldschmidt simon.k.r.goldschmidt at gmail.com
Fri Dec 14 07:42:18 UTC 2018


Booting an image currently sets the environment variable "fdtaddr"
by calling into 'cmd/fdt.c'. As a result, linking U-Boot fails if
CMD_FDT is not enabled.

Fix this by adding 'if (CONFIG_IS_ENABLED(CMD_FDT))' to the two
places where 'set_working_fdt_addr()' is called.

Signed-off-by: Simon Goldschmidt <simon.k.r.goldschmidt at gmail.com>
---
 common/bootm.c     | 3 ++-
 common/image-fdt.c | 3 ++-
 2 files changed, 4 insertions(+), 2 deletions(-)

diff --git a/common/bootm.c b/common/bootm.c
index 8bf84ebcb7..80f304ce9f 100644
--- a/common/bootm.c
+++ b/common/bootm.c
@@ -262,7 +262,8 @@ int bootm_find_images(int flag, int argc, char *
const argv[])
         puts("Could not find a valid device tree\n");
         return 1;
     }
-    set_working_fdt_addr(map_to_sysmem(images.ft_addr));
+    if (CONFIG_IS_ENABLED(CMD_FDT))
+        set_working_fdt_addr(map_to_sysmem(images.ft_addr));
 #endif

 #if IMAGE_ENABLE_FIT
diff --git a/common/image-fdt.c b/common/image-fdt.c
index 95748f0ae1..8ee5a13352 100644
--- a/common/image-fdt.c
+++ b/common/image-fdt.c
@@ -193,7 +193,8 @@ int boot_relocate_fdt(struct lmb *lmb, char
**of_flat_tree, ulong *of_size)
     *of_flat_tree = of_start;
     *of_size = of_len;

-    set_working_fdt_addr(map_to_sysmem(*of_flat_tree));
+    if (CONFIG_IS_ENABLED(CMD_FDT))
+        set_working_fdt_addr(map_to_sysmem(*of_flat_tree));
     return 0;

 error:
-- 
2.11.0


More information about the U-Boot mailing list