[PATCH 0/7] drm/tegra: Convert fbdev to DRM client

Thomas Zimmermann
2023-03-30T08:36:18Z

Convert tegra's fbdev code to struct drm_client. Replaces the current
ad-hoc integration. The conversion includes a number of cleanups. As
with most other drivers' fbdev emulation, fbdev in tegra is now just
another DRM client that runs after the DRM device has been registered.

Once all drivers' fbdev emulation has been converted to struct drm_client,
we can attempt to add additional in-kernel clients. A DRM-based dmesg
log or a bootsplash are commonly mentioned. DRM can then switch easily
among the existing clients if/when required.

I did the conversion from similar experience with other drivers. But I
don't have the hardware to test this. Any testing is welcome.

Thomas Zimmermann (7):
drm/tegra: Include <linux/of.h>
drm/tegra: Include <linux/i2c.h>
drm/tegra: Removed fb from struct tegra_fbdev
drm/tegra: Remove struct tegra_fbdev
drm/tegra: Hide fbdev support behind config option
drm/tegra: Initialize fbdev DRM client
drm/tegra: Implement fbdev emulation as in-kernel client

drivers/gpu/drm/tegra/Makefile | 2 +
drivers/gpu/drm/tegra/drm.c | 23 +---
drivers/gpu/drm/tegra/drm.h | 27 ++--
drivers/gpu/drm/tegra/fb.c | 242 +--------------------------------
drivers/gpu/drm/tegra/fbdev.c | 240 ++++++++++++++++++++++++++++++++
drivers/gpu/drm/tegra/output.c | 3 +
drivers/gpu/drm/tegra/rgb.c | 1 +
7 files changed, 265 insertions(+), 273 deletions(-)
create mode 100644 drivers/gpu/drm/tegra/fbdev.c

--
2.40.0