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 <tzimmerm...@suse.de>
Cc: Maxime Ripard <mrip...@kernel.org>
Cc: Chen-Yu Tsai <w...@csie.org>
Cc: Jernej Skrabec <jernej.skra...@gmail.com>
Cc: Samuel Holland <sam...@sholland.org>
Acked-by: Javier Martinez Canillas <javi...@redhat.com>
---
 drivers/gpu/drm/sun4i/Kconfig     | 1 +
 drivers/gpu/drm/sun4i/sun4i_drv.c | 4 +++-
 2 files changed, 4 insertions(+), 1 deletion(-)

diff --git a/drivers/gpu/drm/sun4i/Kconfig b/drivers/gpu/drm/sun4i/Kconfig
index 4037e085430e..b56ba00aabca 100644
--- a/drivers/gpu/drm/sun4i/Kconfig
+++ b/drivers/gpu/drm/sun4i/Kconfig
@@ -3,6 +3,7 @@ config DRM_SUN4I
        tristate "DRM Support for Allwinner A10 Display Engine"
        depends on DRM && COMMON_CLK
        depends on ARCH_SUNXI || COMPILE_TEST
+       select DRM_CLIENT_SELECTION
        select DRM_GEM_DMA_HELPER
        select DRM_KMS_HELPER
        select DRM_PANEL
diff --git a/drivers/gpu/drm/sun4i/sun4i_drv.c 
b/drivers/gpu/drm/sun4i/sun4i_drv.c
index 35d7a7ffd208..c3342789e3b0 100644
--- a/drivers/gpu/drm/sun4i/sun4i_drv.c
+++ b/drivers/gpu/drm/sun4i/sun4i_drv.c
@@ -16,6 +16,7 @@
 
 #include <drm/drm_aperture.h>
 #include <drm/drm_atomic_helper.h>
+#include <drm/drm_client_setup.h>
 #include <drm/drm_drv.h>
 #include <drm/drm_fbdev_dma.h>
 #include <drm/drm_gem_dma_helper.h>
@@ -55,6 +56,7 @@ static const struct drm_driver sun4i_drv_driver = {
 
        /* GEM Operations */
        DRM_GEM_DMA_DRIVER_OPS_WITH_DUMB_CREATE(drm_sun4i_gem_dumb_create),
+       DRM_FBDEV_DMA_DRIVER_OPS,
 };
 
 static int sun4i_drv_bind(struct device *dev)
@@ -111,7 +113,7 @@ static int sun4i_drv_bind(struct device *dev)
        if (ret)
                goto finish_poll;
 
-       drm_fbdev_dma_setup(drm, 32);
+       drm_client_setup(drm, NULL);
 
        dev_set_drvdata(dev, drm);
 
-- 
2.46.0

Reply via email to