Merge patch series "Static initcalls"
authorTom Rini <trini@konsulko.com>
Mon, 14 Apr 2025 14:59:45 +0000 (08:59 -0600)
committerTom Rini <trini@konsulko.com>
Mon, 14 Apr 2025 14:59:45 +0000 (08:59 -0600)
commit8c98b57d72d5e5b94ed064fe1041e51216165334
tree6925274aa6ebc5a369da5552bf88260f1730d2bc
parent739ad58dbee874a3ad3bddd116e995212a254e07
parentbbee3d41b33f5b8c88ae3707dc8af105acafdd55
Merge patch series "Static initcalls"

Jerome Forissier <jerome.forissier@linaro.org> says:

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.

The inline assembly fixes, although they look unrelated, are triggered
on some platforms with LTO enabled. For example: kirkwood_defconfig.

CI: https://source.denx.de/u-boot/custodians/u-boot-net/-/pipelines/25514

Link: https://lore.kernel.org/r/20250404135038.2134570-1-jerome.forissier@linaro.org
common/board_f.c
common/board_r.c
lib/Makefile