Hi Simon,
2016-11-18 2:29 GMT+09:00 Simon Glass <s...@chromium.org>: > Create a boot_from_devices() function to handle trying each device. This > helps to reduce the size of the already-large board_init_r() function. > > Signed-off-by: Simon Glass <s...@chromium.org> > --- > > common/spl/spl.c | 33 +++++++++++++++++++++------------ > 1 file changed, 21 insertions(+), 12 deletions(-) > > diff --git a/common/spl/spl.c b/common/spl/spl.c > index 4f23c0e..8c3a47d 100644 > --- a/common/spl/spl.c > +++ b/common/spl/spl.c > @@ -372,12 +372,29 @@ static int spl_load_image(struct spl_image_info > *spl_image, u32 boot_device) > > bootdev.boot_device = boot_device; > bootdev.boot_device_name = NULL; > - if (loader) > - return loader->load_image(spl_image, &bootdev); > > + return loader->load_image(spl_image, &bootdev); > +} > + > +static int boot_from_devices(struct spl_image_info *spl_image, > + u32 spl_boot_list[]) > +{ > + int i; > + > + for (i = 0; i < ARRAY_SIZE(spl_boot_list) && > + spl_boot_list[i] != BOOT_DEVICE_NONE; i++) { > + struct spl_image_loader *loader; > + > + announce_boot_device(spl_boot_list[i]); > + loader = spl_ll_find_loader(spl_boot_list[i]); I do not believe ARRAY_SIZE(spl_boot_list) would work in this context. -- Best Regards Masahiro Yamada _______________________________________________ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot