From: Heinrich Schuchardt Date: Thu, 1 Feb 2018 11:53:32 +0000 (+0100) Subject: efi_driver: return type of efi_driver_init() X-Git-Url: http://git.dujemihanovic.xyz/%22/img/sics.gif/%22/static/git-favicon.png?a=commitdiff_plain;h=038782a27ad24260a4bc536772e10c351cf6522d;p=u-boot.git efi_driver: return type of efi_driver_init() 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 Signed-off-by: Alexander Graf --- diff --git a/include/efi_loader.h b/include/efi_loader.h index 21c03c5c28..a2d82e1db7 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;