[RFC PATCH v2 17/48] lmb: allow lmb module to be used in SPL

Simon Glass sjg at chromium.org
Sat Jul 13 17:15:30 CEST 2024


Hi Sughosh,

On Thu, 4 Jul 2024 at 08:37, Sughosh Ganu <sughosh.ganu at linaro.org> wrote:
>
> With the introduction of separate config symbols for the SPL phase of
> U-Boot, the condition checks need to be tweaked so that platforms that
> enable the LMB module in SPL are also able to call the LMB API's. Use
> the appropriate condition checks to achieve this.
>
> Signed-off-by: Sughosh Ganu <sughosh.ganu at linaro.org>
> ---
> Changes since V1: New patch
>
>  board/xilinx/common/board.c | 2 +-
>  boot/bootm.c                | 4 ++--
>  boot/image-board.c          | 2 +-
>  fs/fs.c                     | 4 ++--
>  lib/Makefile                | 2 +-
>  net/tftp.c                  | 6 +++---
>  net/wget.c                  | 4 ++--
>  7 files changed, 12 insertions(+), 12 deletions(-)
>
> diff --git a/board/xilinx/common/board.c b/board/xilinx/common/board.c
> index 4056884400..f04c92a70f 100644
> --- a/board/xilinx/common/board.c
> +++ b/board/xilinx/common/board.c
> @@ -665,7 +665,7 @@ int embedded_dtb_select(void)
>  }
>  #endif
>
> -#if defined(CONFIG_LMB)
> +#if IS_ENABLED(CONFIG_LMB)
>
>  #ifndef MMU_SECTION_SIZE
>  #define MMU_SECTION_SIZE        (1 * 1024 * 1024)
> diff --git a/boot/bootm.c b/boot/bootm.c
> index 7b3fe551de..5ce84b73b5 100644
> --- a/boot/bootm.c
> +++ b/boot/bootm.c
> @@ -239,7 +239,7 @@ static int boot_get_kernel(const char *addr_fit, struct bootm_headers *images,
>         return 0;
>  }
>
> -#ifdef CONFIG_LMB
> +#if CONFIG_IS_ENABLED(LMB)

Can you avoid #ifdefs where possible?

>  static void boot_start_lmb(void)
>  {
>         phys_addr_t     mem_start;
> @@ -1048,7 +1048,7 @@ int bootm_run_states(struct bootm_info *bmi, int states)
>                 }
>         }
>  #endif
> -#if CONFIG_IS_ENABLED(OF_LIBFDT) && defined(CONFIG_LMB)
> +#if CONFIG_IS_ENABLED(OF_LIBFDT) && CONFIG_IS_ENABLED(LMB)
>         if (!ret && (states & BOOTM_STATE_FDT)) {
>                 boot_fdt_add_mem_rsv_regions(images->ft_addr);
>                 ret = boot_relocate_fdt(&images->ft_addr, &images->ft_len);
> diff --git a/boot/image-board.c b/boot/image-board.c
> index 1f8c1ac69f..99ee7968ba 100644
> --- a/boot/image-board.c
> +++ b/boot/image-board.c
> @@ -883,7 +883,7 @@ int image_setup_linux(struct bootm_headers *images)
>         int ret;
>
>         /* This function cannot be called without lmb support */
> -       if (!IS_ENABLED(CONFIG_LMB))
> +       if (!CONFIG_IS_ENABLED(LMB))
>                 return -EFAULT;
>         if (CONFIG_IS_ENABLED(OF_LIBFDT))
>                 boot_fdt_add_mem_rsv_regions(*of_flat_tree);
> diff --git a/fs/fs.c b/fs/fs.c
> index 2c835eef86..3fb00590be 100644
> --- a/fs/fs.c
> +++ b/fs/fs.c
> @@ -526,7 +526,7 @@ int fs_size(const char *filename, loff_t *size)
>         return ret;
>  }
>
> -#ifdef CONFIG_LMB
> +#if CONFIG_IS_ENABLED(LMB)
>  /* Check if a file may be read to the given address */
>  static int fs_read_lmb_check(const char *filename, ulong addr, loff_t offset,
>                              loff_t len, struct fstype_info *info)
> @@ -567,7 +567,7 @@ static int _fs_read(const char *filename, ulong addr, loff_t offset, loff_t len,
>         void *buf;
>         int ret;
>
> -#ifdef CONFIG_LMB
> +#if CONFIG_IS_ENABLED(LMB)
>         if (do_lmb_check) {
>                 ret = fs_read_lmb_check(filename, addr, offset, len, info);
>                 if (ret)
> diff --git a/lib/Makefile b/lib/Makefile
> index 81b503ab52..398c11726e 100644
> --- a/lib/Makefile
> +++ b/lib/Makefile
> @@ -118,7 +118,7 @@ obj-$(CONFIG_$(SPL_TPL_)OF_LIBFDT) += fdtdec.o fdtdec_common.o
>  obj-y += hang.o
>  obj-y += linux_compat.o
>  obj-y += linux_string.o
> -obj-$(CONFIG_LMB) += lmb.o
> +obj-$(CONFIG_$(SPL_)LMB) += lmb.o
>  obj-y += membuff.o
>  obj-$(CONFIG_REGEX) += slre.o
>  obj-y += string.o
> diff --git a/net/tftp.c b/net/tftp.c
> index 5e27fd4aa9..5c75d9d04f 100644
> --- a/net/tftp.c
> +++ b/net/tftp.c
> @@ -82,7 +82,7 @@ static ulong  tftp_block_wrap;
>  static ulong   tftp_block_wrap_offset;
>  static int     tftp_state;
>  static ulong   tftp_load_addr;
> -#ifdef CONFIG_LMB
> +#if CONFIG_IS_ENABLED(LMB)
>  static ulong   tftp_load_size;
>  #endif
>  #ifdef CONFIG_TFTP_TSIZE
> @@ -160,7 +160,7 @@ static inline int store_block(int block, uchar *src, unsigned int len)
>         ulong store_addr = tftp_load_addr + offset;
>         void *ptr;
>
> -#ifdef CONFIG_LMB
> +#if CONFIG_IS_ENABLED(LMB)
>         ulong end_addr = tftp_load_addr + tftp_load_size;
>
>         if (!end_addr)
> @@ -710,7 +710,7 @@ static void tftp_timeout_handler(void)
>  /* Initialize tftp_load_addr and tftp_load_size from image_load_addr and lmb */
>  static int tftp_init_load_addr(void)
>  {
> -#ifdef CONFIG_LMB
> +#if CONFIG_IS_ENABLED(LMB)

here too

>         phys_size_t max_size;
>
>         lmb_init_and_reserve(gd->bd, (void *)gd->fdt_blob);
> diff --git a/net/wget.c b/net/wget.c
> index 7cf809a8ef..b8ea43e7f0 100644
> --- a/net/wget.c
> +++ b/net/wget.c
> @@ -98,7 +98,7 @@ static inline int store_block(uchar *src, unsigned int offset, unsigned int len)
>         ulong newsize = offset + len;
>         uchar *ptr;
>
> -       if (IS_ENABLED(CONFIG_LMB)) {
> +       if (CONFIG_IS_ENABLED(LMB)) {
>                 ulong end_addr = image_load_addr + wget_load_size;
>
>                 if (!end_addr)
> @@ -496,7 +496,7 @@ void wget_start(void)
>         debug_cond(DEBUG_WGET,
>                    "\nwget:Load address: 0x%lx\nLoading: *\b", image_load_addr);
>
> -       if (IS_ENABLED(CONFIG_LMB)) {
> +       if (CONFIG_IS_ENABLED(LMB)) {
>                 if (wget_init_load_size()) {
>                         printf("\nwget error: ");
>                         printf("trying to overwrite reserved memory...\n");
> --
> 2.34.1
>

Regards,
Simon


More information about the U-Boot mailing list