image: Drop IMAGE_ENABLE_OF_LIBFDT

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

Signed-off-by: Simon Glass <sjg@chromium.org>
Reviewed-by: Alexandru Gagniuc <mr.nuke.me@gmail.com>
This commit is contained in:
Simon Glass 2021-09-25 19:43:21 -06:00 committed by Tom Rini
parent bf371b4cf5
commit 0c303f9a66
12 changed files with 22 additions and 20 deletions

View File

@ -63,7 +63,7 @@ static void boot_jump_linux(bootm_headers_t *images, int flag)
"(fake run for tracing)" : ""); "(fake run for tracing)" : "");
bootstage_mark_name(BOOTSTAGE_ID_BOOTM_HANDOFF, "start_kernel"); 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; r0 = 2;
r2 = (unsigned int)images->ft_addr; r2 = (unsigned int)images->ft_addr;
} else { } else {

View File

@ -199,7 +199,7 @@ static void boot_prep_linux(bootm_headers_t *images)
{ {
char *commandline = env_get("bootargs"); 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 #ifdef CONFIG_OF_LIBFDT
debug("using: FDT\n"); debug("using: FDT\n");
if (image_setup_linux(images)) { 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); bootstage_mark(BOOTSTAGE_ID_RUN_OS);
announce_and_cleanup(fake); 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; r2 = (unsigned long)images->ft_addr;
else else
r2 = gd->bd->bi_boot_params; r2 = gd->bd->bi_boot_params;

View File

@ -75,7 +75,7 @@ static void boot_jump_linux(bootm_headers_t *images, int flag)
static void boot_prep_linux(bootm_headers_t *images) 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"); debug("using: FDT\n");
if (image_setup_linux(images)) { if (image_setup_linux(images)) {
printf("FDT creation failed! hanging..."); printf("FDT creation failed! hanging...");

View File

@ -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", debug("## Transferring control to Linux (at address %08lx) ...\n",
(ulong)theKernel); (ulong)theKernel);
if (IMAGE_ENABLE_OF_LIBFDT && images->ft_len) { if (CONFIG_IS_ENABLED(OF_LIBFDT) && images->ft_len) {
#ifdef CONFIG_OF_LIBFDT #ifdef CONFIG_OF_LIBFDT
debug("using: FDT\n"); debug("using: FDT\n");
if (image_setup_linux(images)) { if (image_setup_linux(images)) {
@ -110,7 +110,7 @@ int do_bootm_linux(int flag, int argc, char *argv[], bootm_headers_t *images)
#endif #endif
} }
cleanup_before_linux(); 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); theKernel(0, machid, (unsigned long)images->ft_addr);
else else
theKernel(0, machid, bd->bi_boot_params); theKernel(0, machid, bd->bi_boot_params);

View File

@ -64,7 +64,7 @@ static void announce_and_cleanup(int fake)
static void boot_prep_linux(bootm_headers_t *images) 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 #ifdef CONFIG_OF_LIBFDT
debug("using: FDT\n"); debug("using: FDT\n");
if (image_setup_linux(images)) { if (image_setup_linux(images)) {
@ -96,7 +96,7 @@ static void boot_jump_linux(bootm_headers_t *images, int flag)
announce_and_cleanup(fake); announce_and_cleanup(fake);
if (!fake) { if (!fake) {
if (IMAGE_ENABLE_OF_LIBFDT && images->ft_len) { if (CONFIG_IS_ENABLED(OF_LIBFDT) && images->ft_len) {
#ifdef CONFIG_SMP #ifdef CONFIG_SMP
ret = smp_call_function(images->ep, ret = smp_call_function(images->ep,
(ulong)images->ft_addr, 0, 0); (ulong)images->ft_addr, 0, 0);

View File

@ -871,7 +871,7 @@ int board_prep_linux(bootm_headers_t *images)
if (env_common.core_mask.val == ALL_CPU_MASK) if (env_common.core_mask.val == ALL_CPU_MASK)
return 0; 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"); pr_err("WARN: core_mask setup will work properly only with external DTB!\n");
return 0; return 0;
} }

View File

@ -271,7 +271,7 @@ int bootm_find_images(int flag, int argc, char *const argv[], ulong start,
return 1; return 1;
} }
#if IMAGE_ENABLE_OF_LIBFDT #if CONFIG_IS_ENABLED(OF_LIBFDT)
/* find flattened device tree */ /* find flattened device tree */
ret = boot_get_fdt(flag, argc, argv, IH_ARCH_DEFAULT, &images, ret = boot_get_fdt(flag, argc, argv, IH_ARCH_DEFAULT, &images,
&images.ft_addr, &images.ft_len); &images.ft_addr, &images.ft_len);
@ -706,7 +706,7 @@ int do_bootm_states(struct cmd_tbl *cmdtp, int flag, int argc,
} }
} }
#endif #endif
#if IMAGE_ENABLE_OF_LIBFDT && defined(CONFIG_LMB) #if CONFIG_IS_ENABLED(OF_LIBFDT) && defined(CONFIG_LMB)
if (!ret && (states & BOOTM_STATE_FDT)) { if (!ret && (states & BOOTM_STATE_FDT)) {
boot_fdt_add_mem_rsv_regions(&images->lmb, images->ft_addr); boot_fdt_add_mem_rsv_regions(&images->lmb, images->ft_addr);
ret = boot_relocate_fdt(&images->lmb, &images->ft_addr, ret = boot_relocate_fdt(&images->lmb, &images->ft_addr,

View File

@ -282,7 +282,7 @@ int genimg_get_format(const void *img_addr)
if (image_check_magic(hdr)) if (image_check_magic(hdr))
return IMAGE_FORMAT_LEGACY; return IMAGE_FORMAT_LEGACY;
#endif #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) if (fdt_check_header(img_addr) == 0)
return IMAGE_FORMAT_FIT; return IMAGE_FORMAT_FIT;
#endif #endif
@ -895,7 +895,7 @@ int image_setup_linux(bootm_headers_t *images)
struct lmb *lmb = &images->lmb; struct lmb *lmb = &images->lmb;
int ret; int ret;
if (IMAGE_ENABLE_OF_LIBFDT) if (CONFIG_IS_ENABLED(OF_LIBFDT))
boot_fdt_add_mem_rsv_regions(lmb, *of_flat_tree); boot_fdt_add_mem_rsv_regions(lmb, *of_flat_tree);
if (IMAGE_BOOT_GET_CMDLINE) { 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); ret = boot_relocate_fdt(lmb, of_flat_tree, &of_size);
if (ret) if (ret)
return 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); ret = image_setup_libfdt(images, *of_flat_tree, of_size, lmb);
if (ret) if (ret)
return ret; return ret;

View File

@ -18,7 +18,7 @@
#include <status_led.h> #include <status_led.h>
#endif #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 <linux/libfdt.h>
#include <fdt_support.h> #include <fdt_support.h>
#endif #endif

View File

@ -28,7 +28,6 @@ struct fdt_region;
#include <linux/kconfig.h> #include <linux/kconfig.h>
/* new uImage format support enabled on host */ /* 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_VERBOSE 1 /* enable fit_format_{error,warning}() */
#define CONFIG_FIT_RSASSA_PSS 1 #define CONFIG_FIT_RSASSA_PSS 1
@ -46,8 +45,6 @@ struct fdt_region;
#define IMAGE_ENABLE_IGNORE 1 #define IMAGE_ENABLE_IGNORE 1
#define IMAGE_INDENT_STRING " " #define IMAGE_INDENT_STRING " "
#define IMAGE_ENABLE_OF_LIBFDT CONFIG_IS_ENABLED(OF_LIBFDT)
#endif /* USE_HOSTCC */ #endif /* USE_HOSTCC */
#if CONFIG_IS_ENABLED(FIT) #if CONFIG_IS_ENABLED(FIT)

View File

@ -153,7 +153,7 @@ static void lmb_reserve_common(struct lmb *lmb, void *fdt_blob)
arch_lmb_reserve(lmb); arch_lmb_reserve(lmb);
board_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); boot_fdt_add_mem_rsv_regions(lmb, fdt_blob);
} }

View File

@ -50,6 +50,11 @@ config TOOLS_MD5
help help
Enable MD5 support in the tools builds 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 config TOOLS_SHA1
def_bool y def_bool y
help help