Rather than having the caller check this variable and the callee set it,
move all access to the variable inside the function. This reduces the
logic needed to call efi_init_obj_list().

Signed-off-by: Simon Glass <s...@chromium.org>
Reviewed: Heinrich Schuchardt <xypron.g...@gmx.de>
---

Changes in v2: None

 cmd/bootefi.c | 7 +++++++
 1 file changed, 7 insertions(+)

diff --git a/cmd/bootefi.c b/cmd/bootefi.c
index 478bc116e2..17b26e6f4e 100644
--- a/cmd/bootefi.c
+++ b/cmd/bootefi.c
@@ -28,6 +28,8 @@ static struct efi_device_path *bootefi_device_path;
 /* Initialize and populate EFI object list */
 static void efi_init_obj_list(void)
 {
+       if (efi_obj_list_initalized)
+               return;
        efi_obj_list_initalized = 1;
 
        efi_console_register();
@@ -208,6 +210,9 @@ static unsigned long do_bootefi_exec(void *efi, void *fdt,
        
env_set("efi_8be4df61-93ca-11d2-aa0d-00e098032b8c_OsIndicationsSupported",
                "{ro,boot}(blob)0000000000000000");
 
+       /* Initialize and populate EFI object list */
+       efi_init_obj_list();
+
        /* Call our payload! */
        debug("%s:%d Jumping to 0x%lx\n", __func__, __LINE__, (long)entry);
 
@@ -310,6 +315,8 @@ static int do_bootefi(cmd_tbl_t *cmdtp, int flag, int argc, 
char * const argv[])
                /* Initialize and populate EFI object list */
                if (!efi_obj_list_initalized)
                        efi_init_obj_list();
+               loaded_image_info.device_handle = bootefi_device_path;
+               loaded_image_info.file_path = bootefi_image_path;
                return efi_selftest(&loaded_image_info, &systab);
        } else
 #endif
-- 
2.15.0.531.g2ccb3012c9-goog

_______________________________________________
U-Boot mailing list
U-Boot@lists.denx.de
https://lists.denx.de/listinfo/u-boot

Reply via email to