]> git.ipfire.org Git - thirdparty/kernel/linux.git/commitdiff
Drivers: hv: Select CONFIG_SYSFB only if EFI is enabled
authorMichael Kelley <mhklinux@outlook.com>
Fri, 13 Jun 2025 23:00:59 +0000 (16:00 -0700)
committerWei Liu <wei.liu@kernel.org>
Wed, 9 Jul 2025 22:39:40 +0000 (22:39 +0000)
Commit 96959283a58d ("Drivers: hv: Always select CONFIG_SYSFB
for Hyper-V guests") selects CONFIG_SYSFB for Hyper-V guests
so that screen_info is available to the VMBus driver to get
the location of the framebuffer in Generation 2 VMs. However,
if CONFIG_HYPERV is enabled but CONFIG_EFI is not, a kernel
link error results in ARM64 builds because screen_info is
provided by the EFI firmware interface. While configuring
an ARM64 Hyper-V guest without EFI isn't useful since EFI is
required to boot, the configuration is still possible and
the link error should be prevented.

Fix this by making the selection of CONFIG_SYSFB conditional
on CONFIG_EFI being defined. For Generation 1 VMs on x86/x64,
which don't use EFI, the additional condition is OK because
such VMs get the framebuffer information via a mechanism
that doesn't use screen_info.

Fixes: 96959283a58d ("Drivers: hv: Always select CONFIG_SYSFB for Hyper-V guests")
Reported-by: Arnd Bergmann <arnd@arndb.de>
Closes: https://lore.kernel.org/linux-hyperv/20250610091810.2638058-1-arnd@kernel.org/
Reported-by: kernel test robot <lkp@intel.com>
Closes: https://lore.kernel.org/oe-kbuild-all/202506080820.1wmkQufc-lkp@intel.com/
Signed-off-by: Michael Kelley <mhklinux@outlook.com>
Link: https://lore.kernel.org/stable/20250613230059.380483-1-mhklinux%40outlook.com
Reviewed-by: Roman Kisel <romank@linux.microsoft.com>
Link: https://lore.kernel.org/r/20250613230059.380483-1-mhklinux@outlook.com
Signed-off-by: Wei Liu <wei.liu@kernel.org>
Message-ID: <20250613230059.380483-1-mhklinux@outlook.com>

drivers/hv/Kconfig

index 1cd188b73b7438b26b83e8570507c7a1de021591..57623ca7f350ae79193ce1fdd3face22ce062ae5 100644 (file)
@@ -9,7 +9,7 @@ config HYPERV
        select PARAVIRT
        select X86_HV_CALLBACK_VECTOR if X86
        select OF_EARLY_FLATTREE if OF
-       select SYSFB if !HYPERV_VTL_MODE
+       select SYSFB if EFI && !HYPERV_VTL_MODE
        help
          Select this option to run Linux as a Hyper-V client operating
          system.