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

Sughosh Ganu sughosh.ganu at linaro.org
Mon Jul 15 11:24:03 CEST 2024


hi Simon,

On Sat, 13 Jul 2024 at 20:45, Simon Glass <sjg at chromium.org> wrote:
>
> 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?

Okay

>
> >  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

Okay

-sughosh

>
> >         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