[PATCH v2 3/5] board_init_f_r(): use static calls

Ilias Apalodimas ilias.apalodimas at linaro.org
Sat Dec 21 09:14:46 CET 2024


On Wed, 18 Dec 2024 at 17:54, Jerome Forissier
<jerome.forissier at linaro.org> wrote:
>
> Replace the init_sequence_f_r function array by direct calls.
>
> Signed-off-by: Jerome Forissier <jerome.forissier at linaro.org>
> ---
>  common/board_f.c | 18 +++++++-----------
>  1 file changed, 7 insertions(+), 11 deletions(-)
>
> diff --git a/common/board_f.c b/common/board_f.c
> index cebed85ed4d..f47275a2230 100644
> --- a/common/board_f.c
> +++ b/common/board_f.c
> @@ -1016,8 +1016,8 @@ void board_init_f(ulong boot_flags)
>  /*
>   * For now this code is only used on x86.
>   *
> - * init_sequence_f_r is the list of init functions which are run when
> - * U-Boot is executing from Flash with a semi-limited 'C' environment.
> + * Run init functions which are run when U-Boot is executing from Flash with a
> + * semi-limited 'C' environment.
>   * The following limitations must be considered when implementing an
>   * '_f_r' function:
>   *  - 'static' variables are read-only
> @@ -1030,18 +1030,14 @@ void board_init_f(ulong boot_flags)
>   * NOTE: At present only x86 uses this route, but it is intended that
>   * all archs will move to this when generic relocation is implemented.
>   */
> -static const init_fnc_t init_sequence_f_r[] = {
> -#if !CONFIG_IS_ENABLED(X86_64)
> -       init_cache_f_r,
> -#endif
> -
> -       NULL,
> -};
> +static void initcall_run_f_r(void)
> +{
> +       CONFIG_IS_ENABLED(X86_64, (INITCALL(init_cache_f_r);))
> +}
>
>  void board_init_f_r(void)
>  {
> -       if (initcall_run_list(init_sequence_f_r))
> -               hang();
> +       initcall_run_f_r();
>
>         /*
>          * The pre-relocation drivers may be using memory that has now gone
> --
> 2.43.0
>

Reviewed-by: Ilias Apalodimas <ilias.apalodimas at linaro.org>


More information about the U-Boot mailing list