[PATCH v3 75/81] drm/exynos-drm: Run DRM default client setup
Javier Martinez Canillas
javierm at redhat.com
Tue Sep 3 12:13:34 UTC 2024
Thomas Zimmermann <tzimmermann at suse.de> writes:
> Rework fbdev probing to support fbdev_probe in struct drm_driver
> and remove the old fb_probe callback. Provide an initializer macro
> for struct drm_driver that sets the callback according to the kernel
> configuration.
>
> 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 exynos-drm driver specifies a preferred color mode of 32. As this
> is the default if no format has been given, leave it out entirely.
>
> Signed-off-by: Thomas Zimmermann <tzimmermann at suse.de>
> Cc: Inki Dae <inki.dae at samsung.com>
> Cc: Seung-Woo Kim <sw0312.kim at samsung.com>
> Cc: Kyungmin Park <kyungmin.park at samsung.com>
> ---
> drivers/gpu/drm/exynos/exynos_drm_drv.c | 4 +-
> drivers/gpu/drm/exynos/exynos_drm_fbdev.c | 101 ++--------------------
> drivers/gpu/drm/exynos/exynos_drm_fbdev.h | 15 ++--
> 3 files changed, 19 insertions(+), 101 deletions(-)
>
> diff --git a/drivers/gpu/drm/exynos/exynos_drm_drv.c b/drivers/gpu/drm/exynos/exynos_drm_drv.c
> index 7c59e1164a48..2a466d8179f4 100644
> --- a/drivers/gpu/drm/exynos/exynos_drm_drv.c
> +++ b/drivers/gpu/drm/exynos/exynos_drm_drv.c
> @@ -15,6 +15,7 @@
>
> #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_file.h>
> #include <drm/drm_fourcc.h>
> @@ -111,6 +112,7 @@ static const struct drm_driver exynos_drm_driver = {
> .dumb_create = exynos_drm_gem_dumb_create,
> .gem_prime_import = exynos_drm_gem_prime_import,
> .gem_prime_import_sg_table = exynos_drm_gem_prime_import_sg_table,
> + EXYNOS_DRM_FBDEV_DRIVER_OPS,
> .ioctls = exynos_ioctls,
> .num_ioctls = ARRAY_SIZE(exynos_ioctls),
> .fops = &exynos_drm_driver_fops,
> @@ -288,7 +290,7 @@ static int exynos_drm_bind(struct device *dev)
> if (ret < 0)
> goto err_cleanup_poll;
>
> - exynos_drm_fbdev_setup(drm);
> + drm_client_setup(drm, NULL);
>
> return 0;
>
> diff --git a/drivers/gpu/drm/exynos/exynos_drm_fbdev.c b/drivers/gpu/drm/exynos/exynos_drm_fbdev.c
> index a379c8ca435a..73fa7b77d8d0 100644
> --- a/drivers/gpu/drm/exynos/exynos_drm_fbdev.c
> +++ b/drivers/gpu/drm/exynos/exynos_drm_fbdev.c
> @@ -22,9 +22,6 @@
> #include "exynos_drm_fb.h"
> #include "exynos_drm_fbdev.h"
>
> -#define MAX_CONNECTOR 4
I see this constant was unused. Is an unrelated cleanup but I guess is OK too.
Acked-by: Javier Martinez Canillas <javierm at redhat.com>
--
Best regards,
Javier Martinez Canillas
Core Platforms
Red Hat
More information about the dri-devel
mailing list