efi: move screen_info into efi init code
authorArnd Bergmann <arnd@arndb.de>
Tue, 17 Oct 2023 09:39:46 +0000 (11:39 +0200)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Tue, 17 Oct 2023 14:33:39 +0000 (16:33 +0200)
commitb8466fe82b79215b9ae28623a87c9a937ebd4f80
tree6d9cb9b29928eb83d851f1d05566cac146f2fd23
parent1e3c8526918403a4cebbd67bcd18443bf68df939
efi: move screen_info into efi init code

After the vga console no longer relies on global screen_info, there are
only two remaining use cases:

 - on the x86 architecture, it is used for multiple boot methods
   (bzImage, EFI, Xen, kexec) to commucate the initial VGA or framebuffer
   settings to a number of device drivers.

 - on other architectures, it is only used as part of the EFI stub,
   and only for the three sysfb framebuffers (simpledrm, simplefb, efifb).

Remove the duplicate data structure definitions by moving it into the
efi-init.c file that sets it up initially for the EFI case, leaving x86
as an exception that retains its own definition for non-EFI boots.

The added #ifdefs here are optional, I added them to further limit the
reach of screen_info to configurations that have at least one of the
users enabled.

Reviewed-by: Ard Biesheuvel <ardb@kernel.org>
Reviewed-by: Javier Martinez Canillas <javierm@redhat.com>
Acked-by: Helge Deller <deller@gmx.de>
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
Link: https://lore.kernel.org/r/20231017093947.3627976-1-arnd@kernel.org
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
arch/arm64/kernel/efi.c
arch/arm64/kernel/image-vars.h
arch/loongarch/kernel/efi.c
arch/loongarch/kernel/image-vars.h
arch/loongarch/kernel/setup.c
arch/riscv/kernel/image-vars.h
arch/riscv/kernel/setup.c
drivers/firmware/efi/efi-init.c
drivers/firmware/efi/libstub/efi-stub-entry.c