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

drm/sun4i: 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 sun4i driver specifies as 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: Maxime Ripard <mripard@kernel.org>
Cc: Chen-Yu Tsai <wens@csie.org>
Cc: Jernej Skrabec <jernej.skrabec@gmail.com>
Cc: Samuel Holland <samuel@sholland.org>
Acked-by: Javier Martinez Canillas <javierm@redhat.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20240924071734.98201-41-tzimmermann@suse.de

+4 -1
+1
drivers/gpu/drm/sun4i/Kconfig
··· 3 3 tristate "DRM Support for Allwinner A10 Display Engine" 4 4 depends on DRM && COMMON_CLK 5 5 depends on ARCH_SUNXI || COMPILE_TEST 6 + select DRM_CLIENT_SELECTION 6 7 select DRM_GEM_DMA_HELPER 7 8 select DRM_KMS_HELPER 8 9 select DRM_PANEL
+3 -1
drivers/gpu/drm/sun4i/sun4i_drv.c
··· 16 16 17 17 #include <drm/drm_aperture.h> 18 18 #include <drm/drm_atomic_helper.h> 19 + #include <drm/drm_client_setup.h> 19 20 #include <drm/drm_drv.h> 20 21 #include <drm/drm_fbdev_dma.h> 21 22 #include <drm/drm_gem_dma_helper.h> ··· 56 55 57 56 /* GEM Operations */ 58 57 DRM_GEM_DMA_DRIVER_OPS_WITH_DUMB_CREATE(drm_sun4i_gem_dumb_create), 58 + DRM_FBDEV_DMA_DRIVER_OPS, 59 59 }; 60 60 61 61 static int sun4i_drv_bind(struct device *dev) ··· 113 111 if (ret) 114 112 goto finish_poll; 115 113 116 - drm_fbdev_dma_setup(drm, 32); 114 + drm_client_setup(drm, NULL); 117 115 118 116 dev_set_drvdata(dev, drm); 119 117