arm64: efi: fix initcall return values
Even though initcall return values are typically ignored, the prototype is to return 0 on success or a negative errno value on error. So fix the arm_enable_runtime_services() implementation to return 0 on conditions that are not in fact errors, and return a meaningful error code otherwise. Signed-off-by: Ard Biesheuvel <ard.biesheuvel@linaro.org> Reviewed-by: Matt Fleming <matt@codeblueprint.co.uk> Acked-by: Will Deacon <will.deacon@arm.com> Signed-off-by: Catalin Marinas <catalin.marinas@arm.com>
This commit is contained in:
parent
81d945772a
commit
66362c9afc
|
@ -280,12 +280,12 @@ static int __init arm64_enable_runtime_services(void)
|
||||||
|
|
||||||
if (!efi_enabled(EFI_BOOT)) {
|
if (!efi_enabled(EFI_BOOT)) {
|
||||||
pr_info("EFI services will not be available.\n");
|
pr_info("EFI services will not be available.\n");
|
||||||
return -1;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (efi_runtime_disabled()) {
|
if (efi_runtime_disabled()) {
|
||||||
pr_info("EFI runtime services will be disabled.\n");
|
pr_info("EFI runtime services will be disabled.\n");
|
||||||
return -1;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
pr_info("Remapping and enabling EFI services.\n");
|
pr_info("Remapping and enabling EFI services.\n");
|
||||||
|
@ -295,7 +295,7 @@ static int __init arm64_enable_runtime_services(void)
|
||||||
mapsize);
|
mapsize);
|
||||||
if (!memmap.map) {
|
if (!memmap.map) {
|
||||||
pr_err("Failed to remap EFI memory map\n");
|
pr_err("Failed to remap EFI memory map\n");
|
||||||
return -1;
|
return -ENOMEM;
|
||||||
}
|
}
|
||||||
memmap.map_end = memmap.map + mapsize;
|
memmap.map_end = memmap.map + mapsize;
|
||||||
efi.memmap = &memmap;
|
efi.memmap = &memmap;
|
||||||
|
@ -304,13 +304,13 @@ static int __init arm64_enable_runtime_services(void)
|
||||||
sizeof(efi_system_table_t));
|
sizeof(efi_system_table_t));
|
||||||
if (!efi.systab) {
|
if (!efi.systab) {
|
||||||
pr_err("Failed to remap EFI System Table\n");
|
pr_err("Failed to remap EFI System Table\n");
|
||||||
return -1;
|
return -ENOMEM;
|
||||||
}
|
}
|
||||||
set_bit(EFI_SYSTEM_TABLES, &efi.flags);
|
set_bit(EFI_SYSTEM_TABLES, &efi.flags);
|
||||||
|
|
||||||
if (!efi_virtmap_init()) {
|
if (!efi_virtmap_init()) {
|
||||||
pr_err("No UEFI virtual mapping was installed -- runtime services will not be available\n");
|
pr_err("No UEFI virtual mapping was installed -- runtime services will not be available\n");
|
||||||
return -1;
|
return -ENOMEM;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Set up runtime services function pointers */
|
/* Set up runtime services function pointers */
|
||||||
|
|
Loading…
Reference in New Issue