From patchwork Thu Feb 27 08:18:37 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Rasmus Villemoes X-Patchwork-Id: 236938 List-Id: U-Boot discussion From: rasmus.villemoes at prevas.dk (Rasmus Villemoes) Date: Thu, 27 Feb 2020 08:18:37 +0000 Subject: [PATCH] common/board_f.c: use #ifdefs a little more consistently Message-ID: <20200227081825.11039-1-rasmus.villemoes@prevas.dk> Some init functions, e.g. print_resetinfo(), are conditionally defined depending on some config options, and are correspondingly conditionally included in the init_sequence_f[] array. Others are unconditionally defined and included in init_sequence_f[], but have their entire body, sans a mandatory "return 0", conditionally compiled. For the simple cases, switch to the former model, making it a bit more consistent. This also makes the U-Boot image very slightly smaller and avoids a few useless calls to no-op functions during board_init_f. Signed-off-by: Rasmus Villemoes --- common/board_f.c | 54 ++++++++++++++++++++++++++++++++---------------- 1 file changed, 36 insertions(+), 18 deletions(-) diff --git a/common/board_f.c b/common/board_f.c index 82a164752a..ed63fbcea2 100644 --- a/common/board_f.c +++ b/common/board_f.c @@ -285,16 +285,16 @@ static int setup_mon_len(void) return 0; } +#if CONFIG_IS_ENABLED(HANDOFF) static int setup_spl_handoff(void) { -#if CONFIG_IS_ENABLED(HANDOFF) gd->spl_handoff = bloblist_find(BLOBLISTT_SPL_HANDOFF, sizeof(struct spl_handoff)); debug("Found SPL hand-off info %p\n", gd->spl_handoff); -#endif return 0; } +#endif __weak int arch_cpu_init(void) { @@ -437,17 +437,17 @@ static int reserve_video(void) return 0; } +#ifdef CONFIG_TRACE static int reserve_trace(void) { -#ifdef CONFIG_TRACE gd->relocaddr -= CONFIG_TRACE_BUFFER_SIZE; gd->trace_buff = map_sysmem(gd->relocaddr, CONFIG_TRACE_BUFFER_SIZE); debug("Reserving %luk for trace data at: %08lx\n", (unsigned long)CONFIG_TRACE_BUFFER_SIZE >> 10, gd->relocaddr); -#endif return 0; } +#endif static int reserve_uboot(void) { @@ -520,13 +520,13 @@ static int reserve_board(void) return 0; } +#ifdef CONFIG_MACH_TYPE static int setup_machine(void) { -#ifdef CONFIG_MACH_TYPE gd->bd->bi_arch_number = CONFIG_MACH_TYPE; /* board id for Linux */ -#endif return 0; } +#endif static int reserve_global_data(void) { @@ -537,9 +537,9 @@ static int reserve_global_data(void) return 0; } +#ifndef CONFIG_OF_EMBED static int reserve_fdt(void) { -#ifndef CONFIG_OF_EMBED /* * If the device tree is sitting immediately above our image then we * must relocate it. If it is embedded in the data section, then it @@ -553,24 +553,24 @@ static int reserve_fdt(void) debug("Reserving %lu Bytes for FDT at: %08lx\n", gd->fdt_size, gd->start_addr_sp); } -#endif return 0; } +#endif +#ifdef CONFIG_BOOTSTAGE static int reserve_bootstage(void) { -#ifdef CONFIG_BOOTSTAGE int size = bootstage_get_size(); gd->start_addr_sp -= size; gd->new_bootstage = map_sysmem(gd->start_addr_sp, size); debug("Reserving %#x Bytes for bootstage at: %08lx\n", size, gd->start_addr_sp); -#endif return 0; } +#endif __weak int arch_reserve_stacks(void) { @@ -590,16 +590,16 @@ static int reserve_stacks(void) return arch_reserve_stacks(); } +#ifdef CONFIG_BLOBLIST static int reserve_bloblist(void) { -#ifdef CONFIG_BLOBLIST gd->start_addr_sp &= ~0xf; gd->start_addr_sp -= CONFIG_BLOBLIST_SIZE; gd->new_bloblist = map_sysmem(gd->start_addr_sp, CONFIG_BLOBLIST_SIZE); -#endif return 0; } +#endif static int display_new_sp(void) { @@ -675,23 +675,23 @@ static int init_post(void) } #endif +#ifndef CONFIG_OF_EMBED static int reloc_fdt(void) { -#ifndef CONFIG_OF_EMBED if (gd->flags & GD_FLG_SKIP_RELOC) return 0; if (gd->new_fdt) { memcpy(gd->new_fdt, gd->fdt_blob, gd->fdt_size); gd->fdt_blob = gd->new_fdt; } -#endif return 0; } +#endif +#ifdef CONFIG_BOOTSTAGE static int reloc_bootstage(void) { -#ifdef CONFIG_BOOTSTAGE if (gd->flags & GD_FLG_SKIP_RELOC) return 0; if (gd->new_bootstage) { @@ -703,14 +703,14 @@ static int reloc_bootstage(void) gd->bootstage = gd->new_bootstage; bootstage_relocate(); } -#endif return 0; } +#endif +#ifdef CONFIG_BLOBLIST static int reloc_bloblist(void) { -#ifdef CONFIG_BLOBLIST if (gd->flags & GD_FLG_SKIP_RELOC) return 0; if (gd->new_bloblist) { @@ -721,10 +721,10 @@ static int reloc_bloblist(void) memcpy(gd->new_bloblist, gd->bloblist, size); gd->bloblist = gd->new_bloblist; } -#endif return 0; } +#endif static int setup_reloc(void) { @@ -886,7 +886,9 @@ static const init_fnc_t init_sequence_f[] = { #ifdef CONFIG_BLOBLIST bloblist_init, #endif +#if CONFIG_IS_ENABLED(HANDOFF) setup_spl_handoff, +#endif initf_console_record, #if defined(CONFIG_HAVE_FSP) arch_fsp_init, @@ -974,15 +976,25 @@ static const init_fnc_t init_sequence_f[] = { reserve_mmu, #endif reserve_video, +#ifdef CONFIG_TRACE reserve_trace, +#endif reserve_uboot, reserve_malloc, reserve_board, +#ifdef CONFIG_MACH_TYPE setup_machine, +#endif reserve_global_data, +#ifndef CONFIG_OF_EMBED reserve_fdt, +#endif +#ifdef CONFIG_BOOTSTAGE reserve_bootstage, +#endif +#ifdef CONFIG_BLOBLIST reserve_bloblist, +#endif reserve_arch, reserve_stacks, dram_init_banksize, @@ -1000,9 +1012,15 @@ static const init_fnc_t init_sequence_f[] = { fix_fdt, #endif INIT_FUNC_WATCHDOG_RESET +#ifndef CONFIG_OF_EMBED reloc_fdt, +#endif +#ifdef CONFIG_BOOTSTAGE reloc_bootstage, +#endif +#ifdef CONFIG_BLOBLIST reloc_bloblist, +#endif setup_reloc, #if defined(CONFIG_X86) || defined(CONFIG_ARC) copy_uboot_to_ram,