efi/ia64: Switch to efi_config_parse_tables()
authorArd Biesheuvel <ardb@kernel.org>
Mon, 20 Jan 2020 13:58:09 +0000 (14:58 +0100)
committerArd Biesheuvel <ardb@kernel.org>
Sun, 23 Feb 2020 20:59:42 +0000 (21:59 +0100)
IA64 calls efi_config_parse_tables() via efi_config_init(), which
does an explicit memremap() of the tables, which is unnecessary
on IA64. So let's call efi_config_parse_tables() directly, passing
the __va() of the config table array.

Tested-by: Tony Luck <tony.luck@intel.com> # arch/ia64
Signed-off-by: Ard Biesheuvel <ardb@kernel.org>
arch/ia64/kernel/efi.c

index 81bc503..3b5cf55 100644 (file)
@@ -531,7 +531,10 @@ efi_init (void)
 
        palo_phys      = EFI_INVALID_TABLE_ADDR;
 
-       if (efi_config_init(arch_tables) != 0)
+       if (efi_config_parse_tables(__va(efi_systab->tables),
+                                   efi_systab->nr_tables,
+                                   sizeof(efi_config_table_t),
+                                   arch_tables) != 0)
                return;
 
        if (palo_phys != EFI_INVALID_TABLE_ADDR)