Hi
Am 16.08.24 um 18:01 schrieb Noralf Trønnes:
On 8/16/24 14:22, Thomas Zimmermann wrote:
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.
Signed-off-by: Thomas Zimmermann <tzimmermann@xxxxxxx>
Cc: "Noralf Trønnes" <noralf@xxxxxxxxxxx>
---
drivers/gpu/drm/tiny/mi0283qt.c | 4 +++-
1 file changed, 3 insertions(+), 1 deletion(-)
diff --git a/drivers/gpu/drm/tiny/mi0283qt.c b/drivers/gpu/drm/tiny/mi0283qt.c
index cdc5423990ca..f1461c55dba6 100644
--- a/drivers/gpu/drm/tiny/mi0283qt.c
+++ b/drivers/gpu/drm/tiny/mi0283qt.c
<snip>
@@ -226,7 +228,7 @@ static int mi0283qt_probe(struct spi_device *spi)
spi_set_drvdata(spi, drm);
- drm_fbdev_dma_setup(drm, 0);
+ drm_client_setup(drm, NULL);
Would it be possible for drm_dev_register() to handle the client setup
so drivers won't have to? struct drm_driver could have a field for
drivers that want a different color format.
There's drm_mode_config.preferred_depth, which at least serves this
purpose to some extend.
I briefly considered using drm_dev_register() while making the patches,
but then decided against it. In terms of design, functions should only
do one thing. In practical terms, there is at least one driver author
that explicitly decided against instantiating clients in the driver
(sprd IIRC). And there is at least one driver where client format and
preferred_depth are different (vc4).
But hopefully this series is the final major interface rework of this
kind and later changes can be done within drm_client_setup() or
incrementally.
Best regards
Thomas
Noralf.
return 0;
}
--
--
Thomas Zimmermann
Graphics Driver Developer
SUSE Software Solutions Germany GmbH
Frankenstrasse 146, 90461 Nuernberg, Germany
GF: Ivo Totev, Andrew Myers, Andrew McDonald, Boudien Moerman
HRB 36809 (AG Nuernberg)