Call drm_client_setup_with_fourcc() 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.

v3:
- add DRM_FBDEV_DMA_DRIVER_OPS macro (Sam)
v2:
- use drm_client_setup_with_fourcc()

Signed-off-by: Thomas Zimmermann <tzimmerm...@suse.de>
Cc: Sam Ravnborg <s...@ravnborg.org>
Cc: Boris Brezillon <bbrezil...@kernel.org>
Cc: Nicolas Ferre <nicolas.fe...@microchip.com>
Cc: Alexandre Belloni <alexandre.bell...@bootlin.com>
Cc: Claudiu Beznea <claudiu.bez...@tuxon.dev>
---
 drivers/gpu/drm/atmel-hlcdc/atmel_hlcdc_dc.c | 5 ++++-
 1 file changed, 4 insertions(+), 1 deletion(-)

diff --git a/drivers/gpu/drm/atmel-hlcdc/atmel_hlcdc_dc.c 
b/drivers/gpu/drm/atmel-hlcdc/atmel_hlcdc_dc.c
index 9ce429f889ca..792dcc19e8e7 100644
--- a/drivers/gpu/drm/atmel-hlcdc/atmel_hlcdc_dc.c
+++ b/drivers/gpu/drm/atmel-hlcdc/atmel_hlcdc_dc.c
@@ -18,8 +18,10 @@
 
 #include <drm/drm_atomic.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_fourcc.h>
 #include <drm/drm_gem_dma_helper.h>
 #include <drm/drm_gem_framebuffer_helper.h>
 #include <drm/drm_module.h>
@@ -840,6 +842,7 @@ DEFINE_DRM_GEM_DMA_FOPS(fops);
 static const struct drm_driver atmel_hlcdc_dc_driver = {
        .driver_features = DRIVER_GEM | DRIVER_MODESET | DRIVER_ATOMIC,
        DRM_GEM_DMA_DRIVER_OPS,
+       DRM_FBDEV_DMA_DRIVER_OPS,
        .fops = &fops,
        .name = "atmel-hlcdc",
        .desc = "Atmel HLCD Controller DRM",
@@ -865,7 +868,7 @@ static int atmel_hlcdc_dc_drm_probe(struct platform_device 
*pdev)
        if (ret)
                goto err_unload;
 
-       drm_fbdev_dma_setup(ddev, 24);
+       drm_client_setup_with_fourcc(ddev, DRM_FORMAT_RGB888);
 
        return 0;
 
-- 
2.46.0

Reply via email to