[U-Boot] [PATCH 1/1] efi_driver: return type of efi_driver_init()

Heinrich Schuchardt xypron.glpk at gmx.de
Thu Feb 1 11:53:32 UTC 2018


Change the return type of efi_driver_init() to efi_status_t.

efi_driver_init() calls efi_add_driver() which returns an efi_status_t
value. efi_driver_init() should not subject this value to a conversion to
int losing high bits on 64bit systems.

Signed-off-by: Heinrich Schuchardt <xypron.glpk at gmx.de>
---
 include/efi_loader.h        | 2 +-
 lib/efi_driver/efi_uclass.c | 6 +++---
 2 files changed, 4 insertions(+), 4 deletions(-)

diff --git a/include/efi_loader.h b/include/efi_loader.h
index eb86853924..b7c2d8b7df 100644
--- a/include/efi_loader.h
+++ b/include/efi_loader.h
@@ -272,7 +272,7 @@ efi_status_t efi_get_memory_map(efi_uintn_t *memory_map_size,
 uint64_t efi_add_memory_map(uint64_t start, uint64_t pages, int memory_type,
 			    bool overlap_only_ram);
 /* Called by board init to initialize the EFI drivers */
-int efi_driver_init(void);
+efi_status_t efi_driver_init(void);
 /* Called by board init to initialize the EFI memory map */
 int efi_memory_init(void);
 /* Adds new or overrides configuration table entry to the system table */
diff --git a/lib/efi_driver/efi_uclass.c b/lib/efi_driver/efi_uclass.c
index 90797f96d8..46b69b479c 100644
--- a/lib/efi_driver/efi_uclass.c
+++ b/lib/efi_driver/efi_uclass.c
@@ -287,10 +287,10 @@ out:
  *
  * @return	0 = success, any other value will stop further execution
  */
-int efi_driver_init(void)
+efi_status_t efi_driver_init(void)
 {
 	struct driver *drv;
-	int ret = 0;
+	efi_status_t ret = EFI_SUCCESS;
 
 	/* Save 'gd' pointer */
 	efi_save_gd();
@@ -300,7 +300,7 @@ int efi_driver_init(void)
 	     drv < ll_entry_end(struct driver, driver); ++drv) {
 		if (drv->id == UCLASS_EFI) {
 			ret = efi_add_driver(drv);
-			if (ret) {
+			if (ret != EFI_SUCCESS) {
 				printf("EFI: ERROR: failed to add driver %s\n",
 				       drv->name);
 				break;
-- 
2.11.0



More information about the U-Boot mailing list