From: Thomas Zimmermann Date: Mon, 2 Jun 2025 07:51:44 +0000 (+0200) Subject: video: Make global edid_info depend on CONFIG_FIRMWARE_EDID X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=33b4e4fcd2980ee5fd754731ca9b0325f0344f04;p=thirdparty%2Fkernel%2Flinux.git video: Make global edid_info depend on CONFIG_FIRMWARE_EDID Protect global edid_info behind CONFIG_FIRMWARE_EDID and remove the config tests for CONFIG_X86. Makes edid_info available iff its option has been enabled. Signed-off-by: Thomas Zimmermann Reviewed-by: Helge Deller Link: https://lore.kernel.org/r/20250602075537.137759-3-tzimmermann@suse.de --- diff --git a/arch/x86/kernel/setup.c b/arch/x86/kernel/setup.c index fb27be6971286..0792f31961ac0 100644 --- a/arch/x86/kernel/setup.c +++ b/arch/x86/kernel/setup.c @@ -213,8 +213,10 @@ arch_initcall(init_x86_sysctl); */ struct screen_info screen_info; EXPORT_SYMBOL(screen_info); +#if defined(CONFIG_FIRMWARE_EDID) struct edid_info edid_info; EXPORT_SYMBOL_GPL(edid_info); +#endif extern int root_mountflags; @@ -525,7 +527,9 @@ static void __init parse_boot_params(void) { ROOT_DEV = old_decode_dev(boot_params.hdr.root_dev); screen_info = boot_params.screen_info; +#if defined(CONFIG_FIRMWARE_EDID) edid_info = boot_params.edid_info; +#endif #ifdef CONFIG_X86_32 apm_info.bios = boot_params.apm_bios_info; ist_info = boot_params.ist_info; diff --git a/drivers/gpu/drm/sysfb/efidrm.c b/drivers/gpu/drm/sysfb/efidrm.c index 46912924636ac..a8b1305b6e137 100644 --- a/drivers/gpu/drm/sysfb/efidrm.c +++ b/drivers/gpu/drm/sysfb/efidrm.c @@ -202,7 +202,7 @@ static struct efidrm_device *efidrm_device_create(struct drm_driver *drv, drm_dbg(dev, "framebuffer format=%p4cc, size=%dx%d, stride=%d bytes\n", &format->format, width, height, stride); -#ifdef CONFIG_X86 +#if defined(CONFIG_FIRMWARE_EDID) if (drm_edid_header_is_valid(edid_info.dummy) == 8) sysfb->edid = edid_info.dummy; #endif diff --git a/drivers/gpu/drm/sysfb/vesadrm.c b/drivers/gpu/drm/sysfb/vesadrm.c index 7945544ba73e7..c5216dbe21ece 100644 --- a/drivers/gpu/drm/sysfb/vesadrm.c +++ b/drivers/gpu/drm/sysfb/vesadrm.c @@ -344,7 +344,7 @@ static struct vesadrm_device *vesadrm_device_create(struct drm_driver *drv, #endif } -#ifdef CONFIG_X86 +#if defined(CONFIG_FIRMWARE_EDID) if (drm_edid_header_is_valid(edid_info.dummy) == 8) sysfb->edid = edid_info.dummy; #endif diff --git a/include/video/edid.h b/include/video/edid.h index f614371e9116a..c2b186b1933a2 100644 --- a/include/video/edid.h +++ b/include/video/edid.h @@ -4,7 +4,8 @@ #include -#ifdef CONFIG_X86 +#if defined(CONFIG_FIRMWARE_EDID) extern struct edid_info edid_info; #endif + #endif /* __linux_video_edid_h__ */