Re: [U-Boot] [PATCH v3 03/21] efi: Move the init check inside efi_init_obj_list()

2018-02-19 Thread Heinrich Schuchardt

On 02/19/2018 04:48 PM, Simon Glass wrote:

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().

Fix the spelling of initalized at the same time to fix a patman warning on
this patch.


We should have only one location from wehre we call efi_init_obj_list().

We should be able to distinguish between a successful and a failed 
initialization. If the initialization has failed we should not allow 
bootefi to execute.


This patch is duplicate to the
https://lists.denx.de/pipermail/u-boot/2018-February/320487.html
patch series.

Regards

Heinrich



Signed-off-by: Simon Glass 
Reviewed: Heinrich Schuchardt 
---

Changes in v3:
- Avoid adding a new call to efi_init_obj_list()
- Fix spelling of initalized

Changes in v2: None

  cmd/bootefi.c | 15 +++
  1 file changed, 7 insertions(+), 8 deletions(-)

diff --git a/cmd/bootefi.c b/cmd/bootefi.c
index 2106ed9c8c..064c069757 100644
--- a/cmd/bootefi.c
+++ b/cmd/bootefi.c
@@ -22,7 +22,7 @@
  
  DECLARE_GLOBAL_DATA_PTR;
  
-static uint8_t efi_obj_list_initalized;

+static uint8_t efi_obj_list_initialised;
  
  static struct efi_device_path *bootefi_image_path;

  static struct efi_device_path *bootefi_device_path;
@@ -30,7 +30,9 @@ static struct efi_device_path *bootefi_device_path;
  /* Initialize and populate EFI object list */
  static void efi_init_obj_list(void)
  {
-   efi_obj_list_initalized = 1;
+   if (efi_obj_list_initialised)
+   return;
+   efi_obj_list_initialised = 1;
  
  	/* Initialize EFI driver uclass */

efi_driver_init();
@@ -184,8 +186,7 @@ static efi_status_t do_bootefi_exec(void *efi, void *fdt,
}
  
  	/* Initialize and populate EFI object list */

-   if (!efi_obj_list_initalized)
-   efi_init_obj_list();
+   efi_init_obj_list();
  
  	efi_setup_loaded_image(_image_info, _image_info_obj,

   device_path, image_path);
@@ -284,8 +285,7 @@ static int do_bootefi_bootmgr_exec(unsigned long fdt_addr)
efi_status_t r;
  
  	/* Initialize and populate EFI object list */

-   if (!efi_obj_list_initalized)
-   efi_init_obj_list();
+   efi_init_obj_list();
  
  	/*

 * gd lives in a fixed register which may get clobbered while we execute
@@ -350,8 +350,7 @@ static int do_bootefi(cmd_tbl_t *cmdtp, int flag, int argc, 
char * const argv[])
 */
efi_save_gd();
/* Initialize and populate EFI object list */
-   if (!efi_obj_list_initalized)
-   efi_init_obj_list();
+   efi_init_obj_list();
/* Transfer environment variable efi_selftest as load options */
set_load_options(_image_info, "efi_selftest");
/* Execute the test */



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


[U-Boot] [PATCH v3 03/21] efi: Move the init check inside efi_init_obj_list()

2018-02-19 Thread Simon Glass
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().

Fix the spelling of initalized at the same time to fix a patman warning on
this patch.

Signed-off-by: Simon Glass 
Reviewed: Heinrich Schuchardt 
---

Changes in v3:
- Avoid adding a new call to efi_init_obj_list()
- Fix spelling of initalized

Changes in v2: None

 cmd/bootefi.c | 15 +++
 1 file changed, 7 insertions(+), 8 deletions(-)

diff --git a/cmd/bootefi.c b/cmd/bootefi.c
index 2106ed9c8c..064c069757 100644
--- a/cmd/bootefi.c
+++ b/cmd/bootefi.c
@@ -22,7 +22,7 @@
 
 DECLARE_GLOBAL_DATA_PTR;
 
-static uint8_t efi_obj_list_initalized;
+static uint8_t efi_obj_list_initialised;
 
 static struct efi_device_path *bootefi_image_path;
 static struct efi_device_path *bootefi_device_path;
@@ -30,7 +30,9 @@ static struct efi_device_path *bootefi_device_path;
 /* Initialize and populate EFI object list */
 static void efi_init_obj_list(void)
 {
-   efi_obj_list_initalized = 1;
+   if (efi_obj_list_initialised)
+   return;
+   efi_obj_list_initialised = 1;
 
/* Initialize EFI driver uclass */
efi_driver_init();
@@ -184,8 +186,7 @@ static efi_status_t do_bootefi_exec(void *efi, void *fdt,
}
 
/* Initialize and populate EFI object list */
-   if (!efi_obj_list_initalized)
-   efi_init_obj_list();
+   efi_init_obj_list();
 
efi_setup_loaded_image(_image_info, _image_info_obj,
   device_path, image_path);
@@ -284,8 +285,7 @@ static int do_bootefi_bootmgr_exec(unsigned long fdt_addr)
efi_status_t r;
 
/* Initialize and populate EFI object list */
-   if (!efi_obj_list_initalized)
-   efi_init_obj_list();
+   efi_init_obj_list();
 
/*
 * gd lives in a fixed register which may get clobbered while we execute
@@ -350,8 +350,7 @@ static int do_bootefi(cmd_tbl_t *cmdtp, int flag, int argc, 
char * const argv[])
 */
efi_save_gd();
/* Initialize and populate EFI object list */
-   if (!efi_obj_list_initalized)
-   efi_init_obj_list();
+   efi_init_obj_list();
/* Transfer environment variable efi_selftest as load options */
set_load_options(_image_info, "efi_selftest");
/* Execute the test */
-- 
2.16.1.291.g4437f3f132-goog

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