Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

drm/arm/hdlcd: Run DRM default client setup

Call drm_client_setup() to run the kernel's default client setup
for DRM. Set fbdev_probe in struct drm_driver, so that the client
setup can start the common fbdev client.

The hdlcd driver specifies a preferred color mode of 32. As this
is the default if no format has been given, leave it out entirely.

v5:
- select DRM_CLIENT_SELECTION

Signed-off-by: Thomas Zimmermann <tzimmermann@suse.de>
Cc: Liviu Dudau <liviu.dudau@arm.com>
Acked-by: Liviu Dudau <liviu.dudau@arm.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20240924071734.98201-9-tzimmermann@suse.de

+4 -1
+1
drivers/gpu/drm/arm/Kconfig
··· 6 6 tristate "ARM HDLCD" 7 7 depends on DRM && OF && (ARM || ARM64 || COMPILE_TEST) 8 8 depends on COMMON_CLK 9 + select DRM_CLIENT_SELECTION 9 10 select DRM_KMS_HELPER 10 11 select DRM_GEM_DMA_HELPER 11 12 help
+3 -1
drivers/gpu/drm/arm/hdlcd_drv.c
··· 23 23 24 24 #include <drm/drm_aperture.h> 25 25 #include <drm/drm_atomic_helper.h> 26 + #include <drm/drm_client_setup.h> 26 27 #include <drm/drm_crtc.h> 27 28 #include <drm/drm_debugfs.h> 28 29 #include <drm/drm_drv.h> ··· 229 228 static const struct drm_driver hdlcd_driver = { 230 229 .driver_features = DRIVER_GEM | DRIVER_MODESET | DRIVER_ATOMIC, 231 230 DRM_GEM_DMA_DRIVER_OPS, 231 + DRM_FBDEV_DMA_DRIVER_OPS, 232 232 .fops = &fops, 233 233 .name = "hdlcd", 234 234 .desc = "ARM HDLCD Controller DRM", ··· 301 299 if (ret) 302 300 goto err_register; 303 301 304 - drm_fbdev_dma_setup(drm, 32); 302 + drm_client_setup(drm, NULL); 305 303 306 304 return 0; 307 305