drivers/firmware: consolidate EFI framebuffer setup for all arches
authorJavier Martinez Canillas <javierm@redhat.com>
Fri, 25 Jun 2021 13:13:59 +0000 (15:13 +0200)
committerThomas Zimmermann <tzimmermann@suse.de>
Wed, 21 Jul 2021 10:04:56 +0000 (12:04 +0200)
commit8633ef82f101c040427b57d4df7b706261420b94
treeb8942e651a7f8e8b1708c297f8da5ef500cc41d7
parentd391c58271072d0b0fad93c82018d495b2633448
drivers/firmware: consolidate EFI framebuffer setup for all arches

The register_gop_device() function registers an "efi-framebuffer" platform
device to match against the efifb driver, to have an early framebuffer for
EFI platforms.

But there is already support to do exactly the same by the Generic System
Framebuffers (sysfb) driver. This used to be only for X86 but it has been
moved to drivers/firmware and could be reused by other architectures.

Also, besides supporting registering an "efi-framebuffer", this driver can
register a "simple-framebuffer" allowing to use the siple{fb,drm} drivers
on non-X86 EFI platforms. For example, on aarch64 these drivers can only
be used with DT and doesn't have code to register a "simple-frambuffer"
platform device when booting with EFI.

For these reasons, let's remove the register_gop_device() duplicated code
and instead move the platform specific logic that's there to sysfb driver.

Signed-off-by: Javier Martinez Canillas <javierm@redhat.com>
Acked-by: Borislav Petkov <bp@suse.de>
Acked-by: Daniel Vetter <daniel.vetter@ffwll.ch>
Signed-off-by: Thomas Zimmermann <tzimmermann@suse.de>
Link: https://patchwork.freedesktop.org/patch/msgid/20210625131359.1804394-1-javierm@redhat.com
arch/arm/include/asm/efi.h
arch/arm64/include/asm/efi.h
arch/riscv/include/asm/efi.h
drivers/firmware/Kconfig
drivers/firmware/Makefile
drivers/firmware/efi/efi-init.c
drivers/firmware/efi/sysfb_efi.c
drivers/firmware/sysfb.c
drivers/firmware/sysfb_simplefb.c
drivers/gpu/drm/tiny/Kconfig
include/linux/sysfb.h