The gop protocol implementation uses fb_open, which is only available
with CONFIG_IMAGE_RENDERER=y.

Add a dedicated symbol for it and have it select CONFIG_IMAGE_RENDERER=y
to fix link errors for configurations with CONFIG_VIDEO=y, but no
CONFIG_IMAGE_RENDERER.

Fixes: d040f49ad0b3 ("efi: loader: protocol: add graphical output protocol 
support")
Signed-off-by: Ahmad Fatoum <[email protected]>
---
 efi/loader/protocols/Kconfig  | 18 ++++++++++++++++++
 efi/loader/protocols/Makefile |  2 +-
 2 files changed, 19 insertions(+), 1 deletion(-)

diff --git a/efi/loader/protocols/Kconfig b/efi/loader/protocols/Kconfig
index ba6f562b7585..ad7896065ab7 100644
--- a/efi/loader/protocols/Kconfig
+++ b/efi/loader/protocols/Kconfig
@@ -2,6 +2,24 @@
 
 menu "UEFI protocol support"
 
+config EFI_LOADER_GOP
+       bool "Graphics output protocol"
+       depends on VIDEO
+       select IMAGE_RENDERER
+       default y
+       help
+         The graphics output protocol (GOP) provides UEFI applications access
+         to a framebuffer for graphical output. This allows booting of UEFI
+         applications and operating systems that require graphics support.
+
+         The protocol exposes the video mode information and framebuffer
+         details to UEFI payloads, enabling them to render graphics, display
+         boot menus, and provide visual feedback during boot.
+
+         If you have video support enabled and want to boot UEFI applications
+         that require graphics (such as GRUB with graphical menus or Linux
+         with EFIFB), say Y here.
+
 config EFI_LOADER_HII
        bool "HII protocols"
        default y
diff --git a/efi/loader/protocols/Makefile b/efi/loader/protocols/Makefile
index a323927b89e3..d0b55bde4644 100644
--- a/efi/loader/protocols/Makefile
+++ b/efi/loader/protocols/Makefile
@@ -2,7 +2,7 @@
 
 obj-$(CONFIG_FS) += file.o
 obj-$(CONFIG_DISK) += disk.o
-obj-$(CONFIG_VIDEO) += gop.o
+obj-$(CONFIG_EFI_LOADER_GOP) += gop.o
 obj-$(CONFIG_CONSOLE_FULL) += console.o
 obj-$(CONFIG_EFI_LOADER_HII) += hii.o hii_config.o
 obj-$(CONFIG_EFI_LOADER_UNICODE_COLLATION_PROTOCOL2) += unicode_collation.o
-- 
2.47.3


Reply via email to