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 <xypron.glpk@gmx.de>
Signed-off-by: Alexander Graf <agraf@suse.de>
master
Heinrich Schuchardt 6 years ago committed by Alexander Graf
parent f19a95a40b
commit 038782a27a
  1. 2
      include/efi_loader.h
  2. 6
      lib/efi_driver/efi_uclass.c

@ -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 */

@ -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;

Loading…
Cancel
Save