efi/libstub: Unify the efi_char16_printk implementations
authorArd Biesheuvel <ardb@kernel.org>
Tue, 24 Dec 2019 15:10:16 +0000 (16:10 +0100)
committerIngo Molnar <mingo@kernel.org>
Wed, 25 Dec 2019 09:49:21 +0000 (10:49 +0100)
Use a single implementation for efi_char16_printk() across all
architectures.

Signed-off-by: Ard Biesheuvel <ardb@kernel.org>
Cc: Arvind Sankar <nivedita@alum.mit.edu>
Cc: Borislav Petkov <bp@alien8.de>
Cc: James Morse <james.morse@arm.com>
Cc: Matt Fleming <matt@codeblueprint.co.uk>
Cc: Thomas Gleixner <tglx@linutronix.de>
Cc: linux-efi@vger.kernel.org
Link: https://lkml.kernel.org/r/20191224151025.32482-17-ardb@kernel.org
Signed-off-by: Ingo Molnar <mingo@kernel.org>
arch/x86/boot/compressed/eboot.c
drivers/firmware/efi/libstub/arm-stub.c
drivers/firmware/efi/libstub/efi-stub-helper.c

index 3a7c900b9c66804437ffd3408297b664112f8c1f..5fb12827bdc247ae42efe2fa9084dea2d0b07a62 100644 (file)
@@ -46,13 +46,6 @@ static void setup_boot_services##bits(struct efi_config *c)          \
 BOOT_SERVICES(32);
 BOOT_SERVICES(64);
 
-void efi_char16_printk(efi_system_table_t *table, efi_char16_t *str)
-{
-       efi_call_proto(efi_simple_text_output_protocol, output_string,
-                      ((efi_simple_text_output_protocol_t *)(unsigned long)
-                               efi_early->text_output), str);
-}
-
 static efi_status_t
 preserve_pci_rom_image(efi_pci_io_protocol_t *pci, struct pci_setup_rom **__rom)
 {
index 47f072ac3f30eae6b24a734cc8150873f45e11ec..b44b1bd4d4808001bcc5bb257f010ebb3127589a 100644 (file)
@@ -44,15 +44,6 @@ __pure efi_system_table_t *efi_system_table(void)
        return sys_table;
 }
 
-void efi_char16_printk(efi_system_table_t *sys_table_arg,
-                             efi_char16_t *str)
-{
-       efi_simple_text_output_protocol_t *out;
-
-       out = (efi_simple_text_output_protocol_t *)sys_table_arg->con_out;
-       out->output_string(out, str);
-}
-
 static struct screen_info *setup_graphics(efi_system_table_t *sys_table_arg)
 {
        efi_guid_t gop_proto = EFI_GRAPHICS_OUTPUT_PROTOCOL_GUID;
index 9bb74ad4b7fe7b50745dde978a062f0ca696c0c3..f74b514789d780e35fe9dafec7f33a216358a79f 100644 (file)
@@ -955,3 +955,12 @@ void *get_efi_config_table(efi_system_table_t *sys_table, efi_guid_t guid)
        }
        return NULL;
 }
+
+void efi_char16_printk(efi_system_table_t *table, efi_char16_t *str)
+{
+       efi_call_proto(efi_simple_text_output_protocol,
+                      output_string,
+                      efi_table_attr(efi_system_table, con_out,
+                                     efi_system_table()),
+                      str);
+}