[PATCH v5 08/29] image: Drop IMAGE_ENABLE_OF_LIBFDT

Simon Glass sjg at chromium.org
Sun Sep 26 03:43:21 CEST 2021


Add a host Kconfig for OF_LIBFDT. With this we can use
CONFIG_IS_ENABLED(OF_LIBFDT) directly in the host build, so drop the
unnecessary indirection.

Signed-off-by: Simon Glass <sjg at chromium.org>
---

Changes in v5:
- Use TOOLS_ instead of HOST_

 arch/arc/lib/bootm.c        | 2 +-
 arch/arm/lib/bootm.c        | 4 ++--
 arch/microblaze/lib/bootm.c | 2 +-
 arch/nds32/lib/bootm.c      | 4 ++--
 arch/riscv/lib/bootm.c      | 4 ++--
 board/synopsys/hsdk/hsdk.c  | 2 +-
 common/bootm.c              | 4 ++--
 common/image-board.c        | 8 ++++----
 common/image.c              | 2 +-
 include/image.h             | 3 ---
 lib/lmb.c                   | 2 +-
 tools/Kconfig               | 5 +++++
 12 files changed, 22 insertions(+), 20 deletions(-)

diff --git a/arch/arc/lib/bootm.c b/arch/arc/lib/bootm.c
index 41408c2b460..ed6c5dfa584 100644
--- a/arch/arc/lib/bootm.c
+++ b/arch/arc/lib/bootm.c
@@ -63,7 +63,7 @@ static void boot_jump_linux(bootm_headers_t *images, int flag)
 	       "(fake run for tracing)" : "");
 	bootstage_mark_name(BOOTSTAGE_ID_BOOTM_HANDOFF, "start_kernel");
 
-	if (IMAGE_ENABLE_OF_LIBFDT && images->ft_len) {
+	if (CONFIG_IS_ENABLED(OF_LIBFDT) && images->ft_len) {
 		r0 = 2;
 		r2 = (unsigned int)images->ft_addr;
 	} else {
diff --git a/arch/arm/lib/bootm.c b/arch/arm/lib/bootm.c
index dd6a69315ac..a59a5e6c0ea 100644
--- a/arch/arm/lib/bootm.c
+++ b/arch/arm/lib/bootm.c
@@ -199,7 +199,7 @@ static void boot_prep_linux(bootm_headers_t *images)
 {
 	char *commandline = env_get("bootargs");
 
-	if (IMAGE_ENABLE_OF_LIBFDT && images->ft_len) {
+	if (CONFIG_IS_ENABLED(OF_LIBFDT) && images->ft_len) {
 #ifdef CONFIG_OF_LIBFDT
 		debug("using: FDT\n");
 		if (image_setup_linux(images)) {
@@ -356,7 +356,7 @@ static void boot_jump_linux(bootm_headers_t *images, int flag)
 	bootstage_mark(BOOTSTAGE_ID_RUN_OS);
 	announce_and_cleanup(fake);
 
-	if (IMAGE_ENABLE_OF_LIBFDT && images->ft_len)
+	if (CONFIG_IS_ENABLED(OF_LIBFDT) && images->ft_len)
 		r2 = (unsigned long)images->ft_addr;
 	else
 		r2 = gd->bd->bi_boot_params;
diff --git a/arch/microblaze/lib/bootm.c b/arch/microblaze/lib/bootm.c
index 3a6da6e29ff..12ea32488e6 100644
--- a/arch/microblaze/lib/bootm.c
+++ b/arch/microblaze/lib/bootm.c
@@ -75,7 +75,7 @@ static void boot_jump_linux(bootm_headers_t *images, int flag)
 
 static void boot_prep_linux(bootm_headers_t *images)
 {
-	if (IMAGE_ENABLE_OF_LIBFDT && images->ft_len) {
+	if (CONFIG_IS_ENABLED(OF_LIBFDT) && images->ft_len) {
 		debug("using: FDT\n");
 		if (image_setup_linux(images)) {
 			printf("FDT creation failed! hanging...");
diff --git a/arch/nds32/lib/bootm.c b/arch/nds32/lib/bootm.c
index 1c7f7856999..71ebfb4225b 100644
--- a/arch/nds32/lib/bootm.c
+++ b/arch/nds32/lib/bootm.c
@@ -69,7 +69,7 @@ int do_bootm_linux(int flag, int argc, char *argv[], bootm_headers_t *images)
 	debug("## Transferring control to Linux (at address %08lx) ...\n",
 	       (ulong)theKernel);
 
-	if (IMAGE_ENABLE_OF_LIBFDT && images->ft_len) {
+	if (CONFIG_IS_ENABLED(OF_LIBFDT) && images->ft_len) {
 #ifdef CONFIG_OF_LIBFDT
 		debug("using: FDT\n");
 		if (image_setup_linux(images)) {
@@ -110,7 +110,7 @@ int do_bootm_linux(int flag, int argc, char *argv[], bootm_headers_t *images)
 #endif
 	}
 	cleanup_before_linux();
-	if (IMAGE_ENABLE_OF_LIBFDT && images->ft_len)
+	if (CONFIG_IS_ENABLED(OF_LIBFDT) && images->ft_len)
 		theKernel(0, machid, (unsigned long)images->ft_addr);
 	else
 		theKernel(0, machid, bd->bi_boot_params);
diff --git a/arch/riscv/lib/bootm.c b/arch/riscv/lib/bootm.c
index ff1bdf71318..2e1e286c8ef 100644
--- a/arch/riscv/lib/bootm.c
+++ b/arch/riscv/lib/bootm.c
@@ -64,7 +64,7 @@ static void announce_and_cleanup(int fake)
 
 static void boot_prep_linux(bootm_headers_t *images)
 {
-	if (IMAGE_ENABLE_OF_LIBFDT && images->ft_len) {
+	if (CONFIG_IS_ENABLED(OF_LIBFDT) && images->ft_len) {
 #ifdef CONFIG_OF_LIBFDT
 		debug("using: FDT\n");
 		if (image_setup_linux(images)) {
@@ -96,7 +96,7 @@ static void boot_jump_linux(bootm_headers_t *images, int flag)
 	announce_and_cleanup(fake);
 
 	if (!fake) {
-		if (IMAGE_ENABLE_OF_LIBFDT && images->ft_len) {
+		if (CONFIG_IS_ENABLED(OF_LIBFDT) && images->ft_len) {
 #ifdef CONFIG_SMP
 			ret = smp_call_function(images->ep,
 						(ulong)images->ft_addr, 0, 0);
diff --git a/board/synopsys/hsdk/hsdk.c b/board/synopsys/hsdk/hsdk.c
index 892b94bb083..226fbba6296 100644
--- a/board/synopsys/hsdk/hsdk.c
+++ b/board/synopsys/hsdk/hsdk.c
@@ -871,7 +871,7 @@ int board_prep_linux(bootm_headers_t *images)
 	if (env_common.core_mask.val == ALL_CPU_MASK)
 		return 0;
 
-	if (!IMAGE_ENABLE_OF_LIBFDT || !images->ft_len) {
+	if (!CONFIG_IS_ENABLED(OF_LIBFDT) || !images->ft_len) {
 		pr_err("WARN: core_mask setup will work properly only with external DTB!\n");
 		return 0;
 	}
diff --git a/common/bootm.c b/common/bootm.c
index 8d614fe140e..4482f84b40a 100644
--- a/common/bootm.c
+++ b/common/bootm.c
@@ -271,7 +271,7 @@ int bootm_find_images(int flag, int argc, char *const argv[], ulong start,
 		return 1;
 	}
 
-#if IMAGE_ENABLE_OF_LIBFDT
+#if CONFIG_IS_ENABLED(OF_LIBFDT)
 	/* find flattened device tree */
 	ret = boot_get_fdt(flag, argc, argv, IH_ARCH_DEFAULT, &images,
 			   &images.ft_addr, &images.ft_len);
@@ -706,7 +706,7 @@ int do_bootm_states(struct cmd_tbl *cmdtp, int flag, int argc,
 		}
 	}
 #endif
-#if IMAGE_ENABLE_OF_LIBFDT && defined(CONFIG_LMB)
+#if CONFIG_IS_ENABLED(OF_LIBFDT) && defined(CONFIG_LMB)
 	if (!ret && (states & BOOTM_STATE_FDT)) {
 		boot_fdt_add_mem_rsv_regions(&images->lmb, images->ft_addr);
 		ret = boot_relocate_fdt(&images->lmb, &images->ft_addr,
diff --git a/common/image-board.c b/common/image-board.c
index c699232ba13..a9a6011ce02 100644
--- a/common/image-board.c
+++ b/common/image-board.c
@@ -282,7 +282,7 @@ int genimg_get_format(const void *img_addr)
 	if (image_check_magic(hdr))
 		return IMAGE_FORMAT_LEGACY;
 #endif
-#if CONFIG_IS_ENABLED(FIT) || IMAGE_ENABLE_OF_LIBFDT
+#if CONFIG_IS_ENABLED(FIT) || CONFIG_IS_ENABLED(OF_LIBFDT)
 	if (fdt_check_header(img_addr) == 0)
 		return IMAGE_FORMAT_FIT;
 #endif
@@ -895,7 +895,7 @@ int image_setup_linux(bootm_headers_t *images)
 	struct lmb *lmb = &images->lmb;
 	int ret;
 
-	if (IMAGE_ENABLE_OF_LIBFDT)
+	if (CONFIG_IS_ENABLED(OF_LIBFDT))
 		boot_fdt_add_mem_rsv_regions(lmb, *of_flat_tree);
 
 	if (IMAGE_BOOT_GET_CMDLINE) {
@@ -907,13 +907,13 @@ int image_setup_linux(bootm_headers_t *images)
 		}
 	}
 
-	if (IMAGE_ENABLE_OF_LIBFDT) {
+	if (CONFIG_IS_ENABLED(OF_LIBFDT)) {
 		ret = boot_relocate_fdt(lmb, of_flat_tree, &of_size);
 		if (ret)
 			return ret;
 	}
 
-	if (IMAGE_ENABLE_OF_LIBFDT && of_size) {
+	if (CONFIG_IS_ENABLED(OF_LIBFDT) && of_size) {
 		ret = image_setup_libfdt(images, *of_flat_tree, of_size, lmb);
 		if (ret)
 			return ret;
diff --git a/common/image.c b/common/image.c
index 59b5e70ccae..5b77113bea3 100644
--- a/common/image.c
+++ b/common/image.c
@@ -18,7 +18,7 @@
 #include <status_led.h>
 #endif
 
-#if CONFIG_IS_ENABLED(FIT) || IMAGE_ENABLE_OF_LIBFDT
+#if CONFIG_IS_ENABLED(FIT) || CONFIG_IS_ENABLED(OF_LIBFDT)
 #include <linux/libfdt.h>
 #include <fdt_support.h>
 #endif
diff --git a/include/image.h b/include/image.h
index 6c229212cb1..f09eb9de516 100644
--- a/include/image.h
+++ b/include/image.h
@@ -28,7 +28,6 @@ struct fdt_region;
 #include <linux/kconfig.h>
 
 /* new uImage format support enabled on host */
-#define IMAGE_ENABLE_OF_LIBFDT	1
 #define CONFIG_FIT_VERBOSE	1 /* enable fit_format_{error,warning}() */
 #define CONFIG_FIT_RSASSA_PSS 1
 
@@ -46,8 +45,6 @@ struct fdt_region;
 #define IMAGE_ENABLE_IGNORE	1
 #define IMAGE_INDENT_STRING	"   "
 
-#define IMAGE_ENABLE_OF_LIBFDT	CONFIG_IS_ENABLED(OF_LIBFDT)
-
 #endif /* USE_HOSTCC */
 
 #if CONFIG_IS_ENABLED(FIT)
diff --git a/lib/lmb.c b/lib/lmb.c
index 793647724c3..676b3a0bda6 100644
--- a/lib/lmb.c
+++ b/lib/lmb.c
@@ -153,7 +153,7 @@ static void lmb_reserve_common(struct lmb *lmb, void *fdt_blob)
 	arch_lmb_reserve(lmb);
 	board_lmb_reserve(lmb);
 
-	if (IMAGE_ENABLE_OF_LIBFDT && fdt_blob)
+	if (CONFIG_IS_ENABLED(OF_LIBFDT) && fdt_blob)
 		boot_fdt_add_mem_rsv_regions(lmb, fdt_blob);
 }
 
diff --git a/tools/Kconfig b/tools/Kconfig
index 6ffc2c0aa31..747d221803f 100644
--- a/tools/Kconfig
+++ b/tools/Kconfig
@@ -50,6 +50,11 @@ config TOOLS_MD5
 	help
 	  Enable MD5 support in the tools builds
 
+config TOOLS_OF_LIBFDT
+	def_bool y
+	help
+	  Enable libfdt support in the tools builds
+
 config TOOLS_SHA1
 	def_bool y
 	help
-- 
2.33.0.685.g46640cef36-goog



More information about the U-Boot mailing list