1. 28 Jul, 2021 3 commits
  2. 27 Jul, 2021 2 commits
    • Randy Dunlap's avatar
      efi: sysfb_efi: fix build when EFI is not set · 15d27b15
      Randy Dunlap authored
      When # CONFIG_EFI is not set, there are 2 definitions of
      sysfb_apply_efi_quirks(). The stub from sysfb.h should be used
      and the __init function from sysfb_efi.c should not be used.
      
      ../drivers/firmware/efi/sysfb_efi.c:337:13: error: redefinition of ‘sysfb_apply_efi_quirks’
       __init void sysfb_apply_efi_quirks(struct platform_device *pd)
                   ^~~~~~~~~~~~~~~~~~~~~~
      In file included from ../drivers/firmware/efi/sysfb_efi.c:26:0:
      ../include/linux/sysfb.h:65:20: note: previous definition of ‘sysfb_apply_efi_quirks’ was here
       static inline void sysfb_apply_efi_quirks(struct platform_device *pd)
                          ^~~~~~~~~~~~~~~~~~~~~~
      Reviewed-by: default avatarJavier Martinez Canillas <javierm@redhat.com>
      Fixes: 8633ef82 ("drivers/firmware: consolidate EFI framebuffer setup for all arches")
      Acked-by: default avatarArd Biesheuvel <ardb@kernel.org>
      Signed-off-by: default avatarRandy Dunlap <rdunlap@infradead.org>
      Cc: Ard Biesheuvel <ardb@kernel.org>
      Cc: linux-efi@vger.kernel.org
      Cc: dri-devel@lists.freedesktop.org
      Cc: Javier Martinez Canillas <javierm@redhat.com>
      Cc: Thomas Zimmermann <tzimmermann@suse.de>
      Cc: Mark Brown <broonie@kernel.org>
      Cc: linux-next@vger.kernel.org
      Signed-off-by: default avatarDaniel Vetter <daniel.vetter@ffwll.ch>
      Link: https://patchwork.freedesktop.org/patch/msgid/20210727050447.7339-1-rdunlap@infradead.org
      15d27b15
    • Javier Martinez Canillas's avatar
      drivers/firmware: fix SYSFB depends to prevent build failures · 71260b9a
      Javier Martinez Canillas authored
      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 was defined).
      
      Fixes: d391c582 ("drivers/firmware: move x86 Generic System Framebuffers support")
      Reported-by: default avatarkernel test robot <lkp@intel.com>
      Signed-off-by: default avatarJavier Martinez Canillas <javierm@redhat.com>
      Signed-off-by: default avatarDaniel Vetter <daniel.vetter@ffwll.ch>
      Link: https://patchwork.freedesktop.org/patch/msgid/20210727093015.1225107-1-javierm@redhat.com
      71260b9a
  3. 25 Jul, 2021 10 commits
  4. 24 Jul, 2021 25 commits