[U-Boot] [U-Boot,v2,04/23] spl: Set up the bloblist in SPL

Tom Rini trini at konsulko.com
Fri Nov 16 00:10:57 UTC 2018


On Thu, Nov 15, 2018 at 04:07:59PM -0800, Simon Glass wrote:
> Hi Tom,
> 
> On 9 November 2018 at 10:43, Tom Rini <trini at konsulko.com> wrote:
> > On Tue, Oct 02, 2018 at 05:22:34AM -0600, Simon Glass wrote:
> >> The bloblist is normally set up in SPL ready for use by U-Boot. Add
> >> a simple implementation of this to the common SPL code.
> >>
> >> Signed-off-by: Simon Glass <sjg at chromium.org>
> >> ---
> >>
> >> Changes in v2: None
> >>
> >>  common/spl/spl.c | 18 ++++++++++++++++--
> >>  include/spl.h    | 27 +++++++++++++++++++++++++++
> >>  2 files changed, 43 insertions(+), 2 deletions(-)
> >>
> >> diff --git a/common/spl/spl.c b/common/spl/spl.c
> >> index b917624e61d..2ca900ae9ed 100644
> >> --- a/common/spl/spl.c
> >> +++ b/common/spl/spl.c
> >> @@ -7,6 +7,7 @@
> >>   */
> >>
> >>  #include <common.h>
> >> +#include <bloblist.h>
> >>  #include <binman_sym.h>
> >>  #include <dm.h>
> >>  #include <spl.h>
> >> @@ -345,6 +346,14 @@ static int spl_common_init(bool setup_malloc)
> >>               return ret;
> >>       }
> >>  #endif
> >> +     if (CONFIG_IS_ENABLED(BLOBLIST)) {
> >> +             ret = bloblist_init();
> >> +             if (ret) {
> >> +                     debug("%s: Failed to set up bloblist: ret=%d\n",
> >> +                           __func__, ret);
> >> +                     return ret;
> >> +             }
> >> +     }
> >>       if (CONFIG_IS_ENABLED(OF_CONTROL) && !CONFIG_IS_ENABLED(OF_PLATDATA)) {
> >>               ret = fdtdec_setup();
> >>               if (ret) {
> >> @@ -483,6 +492,7 @@ void board_init_r(gd_t *dummy1, ulong dummy2)
> >>               BOOT_DEVICE_NONE,
> >>       };
> >>       struct spl_image_info spl_image;
> >> +     int ret;
> >>
> >>       debug(">>spl:board_init_r()\n");
> >>
> >> @@ -529,6 +539,12 @@ void board_init_r(gd_t *dummy1, ulong dummy2)
> >>       }
> >>
> >>       spl_perform_fixups(&spl_image);
> >> +     if (CONFIG_IS_ENABLED(BLOBLIST)) {
> >> +             ret = bloblist_finish();
> >> +             if (ret)
> >> +                     printf("Warning: Failed to finish bloblist (ret=%d)\n",
> >> +                            ret);
> >> +     }
> >>
> >>  #ifdef CONFIG_CPU_V7M
> >>       spl_image.entry_point |= 0x1;
> >> @@ -558,8 +574,6 @@ void board_init_r(gd_t *dummy1, ulong dummy2)
> >>             gd->malloc_ptr / 1024);
> >>  #endif
> >>  #ifdef CONFIG_BOOTSTAGE_STASH
> >> -     int ret;
> >> -
> >>       bootstage_mark_name(BOOTSTAGE_ID_END_SPL, "end_spl");
> >>       ret = bootstage_stash((void *)CONFIG_BOOTSTAGE_STASH_ADDR,
> >>                             CONFIG_BOOTSTAGE_STASH_SIZE);
> >
> > I think we'll need a __maybe_unused on ret above for !BOOTSTAGE_STASH &&
> > !BLOBLIST.
> >
> 
> The code for BLOBLIST uses if() rather than #if so it seems OK:
> 
> if (CONFIG_IS_ENABLED(BLOBLIST)) {

So long as it doesn't warn, OK :)

-- 
Tom
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 819 bytes
Desc: not available
URL: <http://lists.denx.de/pipermail/u-boot/attachments/20181115/cca38c40/attachment.sig>


More information about the U-Boot mailing list