diff options
author | Ard Biesheuvel <ardb@kernel.org> | 2019-12-24 18:10:11 +0300 |
---|---|---|
committer | Ingo Molnar <mingo@kernel.org> | 2019-12-25 12:49:18 +0300 |
commit | 960a8d01834eabc4549928c60f8ce0300ad08519 (patch) | |
tree | 5b8c71ad5a440efa45c4ea145aab52fe7ecf3330 /arch/x86/boot/compressed/eboot.h | |
parent | e8bd5ddf60eedd6d584fa1e98d0cfe45abe95043 (diff) | |
download | linux-960a8d01834eabc4549928c60f8ce0300ad08519.tar.xz |
efi/libstub: Use stricter typing for firmware function pointers
We will soon remove another level of pointer casting, so let's make
sure all type handling involving firmware calls at boot time is correct.
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-12-ardb@kernel.org
Signed-off-by: Ingo Molnar <mingo@kernel.org>
Diffstat (limited to 'arch/x86/boot/compressed/eboot.h')
-rw-r--r-- | arch/x86/boot/compressed/eboot.h | 9 |
1 files changed, 6 insertions, 3 deletions
diff --git a/arch/x86/boot/compressed/eboot.h b/arch/x86/boot/compressed/eboot.h index de13865dc7d2..b8d11928f528 100644 --- a/arch/x86/boot/compressed/eboot.h +++ b/arch/x86/boot/compressed/eboot.h @@ -12,9 +12,12 @@ #define DESC_TYPE_CODE_DATA (1 << 0) -typedef union { +typedef union efi_uga_draw_protocol efi_uga_draw_protocol_t; + +union efi_uga_draw_protocol { struct { - void *get_mode; + efi_status_t (*get_mode)(efi_uga_draw_protocol_t *, + u32*, u32*, u32*, u32*); void *set_mode; void *blt; }; @@ -23,6 +26,6 @@ typedef union { u32 set_mode; u32 blt; } mixed_mode; -} efi_uga_draw_protocol_t; +}; #endif /* BOOT_COMPRESSED_EBOOT_H */ |