efi: Set feature flags inside feature init functions
It makes more sense to set the feature flag in the success path of the detection function than it does to rely on the caller doing it. Apart from it being more logical to group the code and data together, it sets a much better example for new EFI architectures. Signed-off-by: Matt Fleming <matt.fleming@intel.com>
This commit is contained in:
parent
3e90959921
commit
0f8093a92d
|
@ -577,6 +577,8 @@ static int __init efi_systab_init(void *phys)
|
|||
efi.systab->hdr.revision >> 16,
|
||||
efi.systab->hdr.revision & 0xffff);
|
||||
|
||||
set_bit(EFI_SYSTEM_TABLES, &efi.flags);
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
@ -612,6 +614,8 @@ static int __init efi_runtime_init(void)
|
|||
efi.get_time = phys_efi_get_time;
|
||||
early_iounmap(runtime, sizeof(efi_runtime_services_t));
|
||||
|
||||
set_bit(EFI_RUNTIME_SERVICES, &efi.flags);
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
@ -629,6 +633,8 @@ static int __init efi_memmap_init(void)
|
|||
if (add_efi_memmap)
|
||||
do_add_efi_memmap();
|
||||
|
||||
set_bit(EFI_MEMMAP, &efi.flags);
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
@ -739,8 +745,6 @@ void __init efi_init(void)
|
|||
if (efi_config_init(arch_tables))
|
||||
return;
|
||||
|
||||
set_bit(EFI_CONFIG_TABLES, &efi.flags);
|
||||
|
||||
/*
|
||||
* Note: We currently don't support runtime services on an EFI
|
||||
* that doesn't match the kernel 32/64-bit mode.
|
||||
|
@ -751,7 +755,6 @@ void __init efi_init(void)
|
|||
else {
|
||||
if (disable_runtime || efi_runtime_init())
|
||||
return;
|
||||
set_bit(EFI_RUNTIME_SERVICES, &efi.flags);
|
||||
}
|
||||
if (efi_memmap_init())
|
||||
return;
|
||||
|
@ -1194,7 +1197,7 @@ static int __init parse_efi_cmdline(char *str)
|
|||
str++;
|
||||
|
||||
if (!strncmp(str, "old_map", 7))
|
||||
set_bit(EFI_OLD_MEMMAP, &x86_efi_facility);
|
||||
set_bit(EFI_OLD_MEMMAP, &efi.flags);
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
|
|
@ -313,5 +313,8 @@ int __init efi_config_init(efi_config_table_type_t *arch_tables)
|
|||
}
|
||||
pr_cont("\n");
|
||||
early_iounmap(config_tables, efi.systab->nr_tables * sz);
|
||||
|
||||
set_bit(EFI_CONFIG_TABLES, &efi.flags);
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue