
22 Nov
2016
22 Nov
'16
8:31 a.m.
Hi Simon,
2016-11-18 2:29 GMT+09:00 Simon Glass sjg@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 sjg@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