On 27/09/2024 16:37, Thomas Zimmermann wrote:
With the next DRM client coming soon (drm_log) and most of DRM's fbdev emulation consolidated in a few places, it's time to provide a single place for the clients. The new module drm_client_lib.ko stores most of the common client code. It's designed such that drivers can opt into client support, but the presence of the client module depends on the user's kernel configuration. Without selected clients, no client module will be build.
Thanks for this work, I've rebased drm_log on top of this, and it works great.
My only nitpick is I would prefer it to be called drm_client.ko, to be a little shorter. So that the kernel parameter to change the default client can be "drm_client.default=fbdev".
Best regards, -- Jocelyn
Thomas Zimmermann (5): drm/i915: Select DRM_CLIENT_SELECTION drm/xe: Select DRM_CLIENT_SELECTION drm: Move client-device functions in to drm_client_dev.c drm: Select fbdev helpers for modules that require them drm: Add client-lib module Documentation/gpu/drm-client.rst | 3 + drivers/gpu/drm/Kconfig | 34 +++++-- drivers/gpu/drm/Makefile | 20 +++-- drivers/gpu/drm/amd/amdgpu/Kconfig | 1 + drivers/gpu/drm/drm_client.c | 122 +------------------------ drivers/gpu/drm/drm_client_dev.c | 138 +++++++++++++++++++++++++++++ drivers/gpu/drm/drm_dumb_buffers.c | 2 + drivers/gpu/drm/drm_file.c | 2 + drivers/gpu/drm/drm_framebuffer.c | 2 + drivers/gpu/drm/drm_gem.c | 2 + drivers/gpu/drm/i915/Kconfig | 1 + drivers/gpu/drm/xe/Kconfig | 1 + 12 files changed, 196 insertions(+), 132 deletions(-) create mode 100644 drivers/gpu/drm/drm_client_dev.c