From e8c086880b2bac0ebc931b635b3b10bdc5ec6496 Mon Sep 17 00:00:00 2001 From: Thomas Zimmermann Date: Thu, 10 Apr 2025 10:37:25 +0200 Subject: [PATCH] drm/sysfb: Share helpers for screen_info validation Share efidrm's and vesadrm's validation of struct screen_info in shared helpers. Update the drivers. Most validation helpers test individual values against limits and can be shared as they are. For color formats, a common helper looks up the correct DRM format info from a driver-provided list of color formats. These screen_info helpers are only available if CONFIG_SCREEN_INFO has been selected, as done by efidrm and vesadrm. Signed-off-by: Thomas Zimmermann Reviewed-by: Javier Martinez Canillas Link: https://lore.kernel.org/r/20250410083834.10810-4-tzimmermann@suse.de --- drivers/gpu/drm/sysfb/Makefile | 1 + drivers/gpu/drm/sysfb/drm_sysfb_helper.h | 34 ++++++ drivers/gpu/drm/sysfb/drm_sysfb_screen_info.c | 107 ++++++++++++++++++ drivers/gpu/drm/sysfb/efidrm.c | 105 ++--------------- drivers/gpu/drm/sysfb/vesadrm.c | 105 ++--------------- 5 files changed, 160 insertions(+), 192 deletions(-) create mode 100644 drivers/gpu/drm/sysfb/drm_sysfb_screen_info.c diff --git a/drivers/gpu/drm/sysfb/Makefile b/drivers/gpu/drm/sysfb/Makefile index 861b4026f4a6e..a156c496413d3 100644 --- a/drivers/gpu/drm/sysfb/Makefile +++ b/drivers/gpu/drm/sysfb/Makefile @@ -3,6 +3,7 @@ drm_sysfb_helper-y := \ drm_sysfb.o \ drm_sysfb_modeset.o +drm_sysfb_helper-$(CONFIG_SCREEN_INFO) += drm_sysfb_screen_info.o obj-$(CONFIG_DRM_SYSFB_HELPER) += drm_sysfb_helper.o obj-$(CONFIG_DRM_EFIDRM) += efidrm.o diff --git a/drivers/gpu/drm/sysfb/drm_sysfb_helper.h b/drivers/gpu/drm/sysfb/drm_sysfb_helper.h index 1697cf7ace973..cb08a88242cc1 100644 --- a/drivers/gpu/drm/sysfb/drm_sysfb_helper.h +++ b/drivers/gpu/drm/sysfb/drm_sysfb_helper.h @@ -6,12 +6,46 @@ #include #include +#include