Message ID | 20210722044155.864600-1-javierm@redhat.com (mailing list archive) |
---|---|
State | Superseded, archived |
Headers | show |
Series | drivers/firmware: fix sysfb depends to prevent build failures | expand |
On Thu, Jul 22, 2021 at 6:42 AM Javier Martinez Canillas <javierm@redhat.com> wrote: > The Generic System Framebuffers support is built when the COMPILE_TEST > option is enabled. But this wrongly assumes that all the architectures > declare a struct screen_info. > > This is true for most architectures, but at least the following do not: > arc, m68k, microblaze, openrisc, parisc and s390. > > By attempting to make this compile testeable on all architectures, it > leads to linking errors as reported by the kernel test robot for parisc: > > All errors (new ones prefixed by >>): > > hppa-linux-ld: drivers/firmware/sysfb.o: in function `sysfb_init': > (.init.text+0x24): undefined reference to `screen_info' > >> hppa-linux-ld: (.init.text+0x28): undefined reference to `screen_info' > > To prevent these errors only allow sysfb to be built on systems that are > going to need it, which are x86 BIOS and EFI. > > The EFI Kconfig symbol is used instead of (ARM || ARM64 || RISC) because > some of these architectures only declare a struct screen_info if EFI is > enabled. And also, because the sysfb code is only used for EFI on these > architectures. For !EFI the "simple-framebuffer" device is registered by > OF when parsing the Device Tree Blob (if a DT node for this is defined). > > Reported-by: kernel test robot <lkp@intel.com> > Signed-off-by: Javier Martinez Canillas <javierm@redhat.com> Reviewed-by: Linus Walleij <linus.walleij@linaro.org> I don't know who picks up firmware patches though, I would send them to soc@kernel.org if nothing else works. Yours, Linus Walleij
diff --git a/drivers/firmware/Kconfig b/drivers/firmware/Kconfig index af6719cc576..897f5f25c64 100644 --- a/drivers/firmware/Kconfig +++ b/drivers/firmware/Kconfig @@ -254,7 +254,7 @@ config QCOM_SCM_DOWNLOAD_MODE_DEFAULT config SYSFB bool default y - depends on X86 || ARM || ARM64 || RISCV || COMPILE_TEST + depends on X86 || EFI config SYSFB_SIMPLEFB bool "Mark VGA/VBE/EFI FB as generic system framebuffer"