Hello Javier, On Fri, 21 May 2021 at 21:29, Javier Martinez Canillas <javierm@xxxxxxxxxx> wrote: > > The x86 architecture platform has a Generic System Framebuffers (sysfb) > support, that register a system frambuffer platform devices. It either > registers a "simple-framebuffer" for the simple{fb,drm} drivers or legacy > VGA/EFI FB devices for the vgafb/efifb drivers. > > Besides this, the EFI initialization code used by other architectures such > as aarch64 and riscv, has similar logic but only register an EFI FB device. > > The sysfb is generic enough to be reused by other architectures and can be > moved out of the arch/x86 directory to drivers/firmware, allowing the EFI > logic used by non-x86 architectures to be folded into sysfb as well. > > Patch #1 in this series do the former while patch #2 the latter. This has > been tested on x86_64 and aarch64 machines using the efifb, simplefb and > simpledrm drivers. But more testing will be highly appreciated, to make > sure that no regressions are being introduced by these changes. > > Since this touches both arch/{x86,arm,arm64,riscv} and drivers/firmware, I > don't know how it should be merged. But I didn't find a way to split these. > We could merge this via the EFI tree without too much risk of conflicts, I think. However, I'd like to see a better explanation of why this is an improvement. The diffstat does not show a huge net win, and it does not enable anything we didn't already have before, right? > > Javier Martinez Canillas (2): > drivers/firmware: move x86 Generic System Framebuffers support > drivers/firmware: consolidate EFI framebuffer setup for all arches > > arch/arm/Kconfig | 1 + > arch/arm/include/asm/efi.h | 5 +- > arch/arm64/Kconfig | 1 + > arch/arm64/include/asm/efi.h | 5 +- > arch/riscv/Kconfig | 1 + > arch/riscv/include/asm/efi.h | 5 +- > arch/x86/Kconfig | 27 +----- > arch/x86/kernel/Makefile | 3 - > drivers/firmware/Kconfig | 30 +++++++ > drivers/firmware/Makefile | 2 + > drivers/firmware/efi/Makefile | 2 + > drivers/firmware/efi/efi-init.c | 90 ------------------- > .../firmware/efi}/sysfb_efi.c | 79 +++++++++++++++- > {arch/x86/kernel => drivers/firmware}/sysfb.c | 42 +++++---- > .../firmware}/sysfb_simplefb.c | 31 ++++--- > .../x86/include/asm => include/linux}/sysfb.h | 34 +++---- > 16 files changed, 182 insertions(+), 176 deletions(-) > rename {arch/x86/kernel => drivers/firmware/efi}/sysfb_efi.c (84%) > rename {arch/x86/kernel => drivers/firmware}/sysfb.c (70%) > rename {arch/x86/kernel => drivers/firmware}/sysfb_simplefb.c (82%) > rename {arch/x86/include/asm => include/linux}/sysfb.h (68%) > > -- > 2.31.1 >