Re: [PATCH v5 08/29] image: Drop IMAGE_ENABLE_OF_LIBFDT

Alex G.
2021-10-05T18:28:10Z

On 9/25/21 8:43 PM, Simon Glass wrote:
> 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

s/host build/tools build/

> unnecessary indirection.
>
> Signed-off-by: Simon Glass <sjg@chromium.org>

Reviewed-by: Alexandru Gagniuc <mr.nuke.me@gmail.com>

> ---
>
> 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(-)

I would have hoped deletions > insertions

>
> 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
>