Message ID | 20250602075537.137759-3-tzimmermann@suse.de |
---|---|
State | New |
Headers | show |
Series | video: Make edid_info generally available in x86 | expand |
On 6/2/25 09:51, Thomas Zimmermann wrote: > 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 <tzimmermann@suse.de> > --- > arch/x86/kernel/setup.c | 4 ++++ > drivers/gpu/drm/sysfb/efidrm.c | 2 +- > drivers/gpu/drm/sysfb/vesadrm.c | 2 +- > include/video/edid.h | 3 ++- > 4 files changed, 8 insertions(+), 3 deletions(-) Reviewed-by: Helge Deller <deller@gmx.de>
On 6/3/25 18:18, Thomas Zimmermann wrote: > Hi > > Am 03.06.25 um 18:08 schrieb Helge Deller: >> On 6/2/25 09:51, Thomas Zimmermann wrote: >>> 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 <tzimmermann@suse.de> >>> --- >>> arch/x86/kernel/setup.c | 4 ++++ >>> drivers/gpu/drm/sysfb/efidrm.c | 2 +- >>> drivers/gpu/drm/sysfb/vesadrm.c | 2 +- >>> include/video/edid.h | 3 ++- >>> 4 files changed, 8 insertions(+), 3 deletions(-) >> >> Reviewed-by: Helge Deller <deller@gmx.de> > > Thanks for reviewing. I'd like to merge the series via drm-misc for some other patches I have for DRM. Ok? Sure. Helge
diff --git a/arch/x86/kernel/setup.c b/arch/x86/kernel/setup.c index 9d2a13b37833..cfe501d323d5 100644 --- a/arch/x86/kernel/setup.c +++ b/arch/x86/kernel/setup.c @@ -217,8 +217,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; @@ -503,7 +505,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 46912924636a..a8b1305b6e13 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 7945544ba73e..c5216dbe21ec 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 f614371e9116..c2b186b1933a 100644 --- a/include/video/edid.h +++ b/include/video/edid.h @@ -4,7 +4,8 @@ #include <uapi/video/edid.h> -#ifdef CONFIG_X86 +#if defined(CONFIG_FIRMWARE_EDID) extern struct edid_info edid_info; #endif + #endif /* __linux_video_edid_h__ */
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 <tzimmermann@suse.de> --- arch/x86/kernel/setup.c | 4 ++++ drivers/gpu/drm/sysfb/efidrm.c | 2 +- drivers/gpu/drm/sysfb/vesadrm.c | 2 +- include/video/edid.h | 3 ++- 4 files changed, 8 insertions(+), 3 deletions(-)