[PATCH v4 0/2] Static initcalls

Jerome Forissier jerome.forissier at linaro.org
Tue Jan 21 17:05:58 CET 2025



On 1/17/25 22:46, Tom Rini wrote:
> On Mon, Jan 06, 2025 at 03:40:12PM +0100, Jerome Forissier wrote:
> 
>> This series replaces the dynamic initcalls (with function pointers) with
>> static calls, and gets rid of initcall_run_list(), init_sequence_f,
>> init_sequence_f_r and init_sequence_r. This makes the code simpler and the
>> binary slighlty smaller: -2281 bytes/-0.21 % with LTO enabled and -510
>> bytes/-0.05 % with LTO disabled (xilinx_zynqmp_kria_defconfig).
>>
>> Execution time doesn't seem to change noticeably. There is no impact on
>> the SPL.
> 
> This fails in CI unfortunately:
> https://source.denx.de/u-boot/u-boot/-/pipelines/24241

I found the problem. It was a silly mistake :-/

diff --git a/common/board_r.c b/common/board_r.c
index 74ebbdc7de9..21a8b97d1bc 100644
--- a/common/board_r.c
+++ b/common/board_r.c
@@ -717,7 +717,7 @@ static void initcall_run_r(void)
 #endif
	INITCALL_EVT(EVT_SETTINGS_R);
	WATCHDOG_RESET();
-#if CONFIG_IS_ENABLED(PCI_INIT_R) && CONFIG_IS_ENABLED(SYS_EARLY_PCI_INIT)
+#if CONFIG_IS_ENABLED(PCI_INIT_R) && !CONFIG_IS_ENABLED(SYS_EARLY_PCI_INIT)
	/*
	 * Do pci configuration
	 */

Shall I sent a v5?

Thanks,
-- 
Jerome


More information about the U-Boot mailing list