Hello Ard, On 5/24/21 12:24 PM, Ard Biesheuvel wrote: [snip] >> 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. > Great, thanks. > 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? > > I mentioned a little in the cover letter but you are correct that wasn't that clear. My motivation was to use the simpledrm driver instead of efifb for the early console, so I could boot without using fbdev at all. The register_gop_device() in drivers/firmware/efi/efi-init.c only register an "efi-frambuffer" platform device, which means that it will only allow to use the efifb driver for the early framebuffer on EFI systems. The "simple-framebuffer" platform device is only registered by OF if there's a DT node with this compatible string, but it won't be registered for EFI. So the simplefb or newly added simpledrm driver won't be matched and probed with the current EFI support in aarch64 or riscv. In contrast, the x86 code does register a "simple-framebuffer" device that uses the GOP framebuffer. One option is to add the same logic in register_gop_device(), but that would require even more code duplication. Another option would be to make the simple drivers to match against "efi-framebuffer", but that would be an ugly solution. But even without taking the lack of "simple-framebuffer" into account, I wonder what would be the benefit of keeping two code paths that do basically the same. Best regards, -- Javier Martinez Canillas Software Engineer New Platform Technologies Enablement team RHEL Engineering