[PATCH 12/39] bootm: Allow building bootm.c without CONFIG_SYS_BOOTM_LEN

Ilias Apalodimas ilias.apalodimas at linaro.org
Wed Nov 20 11:56:08 CET 2024


Hi Simon,

On Tue, 19 Nov 2024 at 15:19, Simon Glass <sjg at chromium.org> wrote:
>
> This code cannot be compiled by boards which don't have this option. Add
> an accessor in the header file to avoid another #ifdef
>
> Signed-off-by: Simon Glass <sjg at chromium.org>
> ---
>
>  boot/bootm.c    | 8 ++++----
>  include/bootm.h | 8 ++++++++
>  2 files changed, 12 insertions(+), 4 deletions(-)
>
> diff --git a/boot/bootm.c b/boot/bootm.c
> index 16a43d519a8..0a1040ef923 100644
> --- a/boot/bootm.c
> +++ b/boot/bootm.c
> @@ -633,11 +633,11 @@ static int bootm_load_os(struct bootm_headers *images, int boot_progress)
>         load_buf = map_sysmem(load, 0);
>         image_buf = map_sysmem(os.image_start, image_len);
>         err = image_decomp(os.comp, load, os.image_start, os.type,
> -                          load_buf, image_buf, image_len,
> -                          CONFIG_SYS_BOOTM_LEN, &load_end);
> +                          load_buf, image_buf, image_len, bootm_len(),
> +                          &load_end);
>         if (err) {
> -               err = handle_decomp_error(os.comp, load_end - load,
> -                                         CONFIG_SYS_BOOTM_LEN, err);
> +               err = handle_decomp_error(os.comp, load_end - load, bootm_len(),
> +                                         err);
>                 bootstage_error(BOOTSTAGE_ID_DECOMP_IMAGE);
>                 return err;
>         }
> diff --git a/include/bootm.h b/include/bootm.h
> index c471615b08c..d174f18ac18 100644
> --- a/include/bootm.h
> +++ b/include/bootm.h
> @@ -89,6 +89,14 @@ struct bootm_info {
>  #define bootm_x86_set(_bmi, _field, _val)
>  #endif
>
> +static inline ulong bootm_len(void)
> +{
> +#ifdef CONFIG_SYS_BOOTM_LEN
> +       return CONFIG_SYS_BOOTM_LEN;
> +#endif
> +       return 0;
> +}

Do we really need a function for this?
Why don't you
#ifdef CONFIG_SYS_BOOTM_LEN
#define SYS_BOOTM_LEN CONFIG_SYS_BOOTM_LEN
#else
#define SYS_BOOTM_LEN 0
#endif

Thanks
/Ilias
> +
>  /**
>   * bootm_init() - Set up a bootm_info struct with useful defaults
>   *
> --
> 2.34.1
>


More information about the U-Boot mailing list