Many DRM drivers implement an encoder with an empty implementation. This patchset adds drm_simple_encoder_init(), which can be used by drivers instead. Except for the destroy callback, the simple encoder's implementation is empty.
The patchset also converts 4 encoder instances to use the simple-encoder helpers. But there are at least 11 other drivers which can use the helper and I think I did not examine all drivers yet. The patchset was smoke-tested on mgag200 by running the fbdev console and Gnome on X11. v3: * remove drm_simple_encoder_create() for lack of users (Sam, Daniel) * provide more precise documentation (Sam) v2: * move simple encoder to KMS helpers (Daniel) * remove name argument; simplifies implementation (Gerd) * don't allocate with devm_ interfaces; unsafe with DRM (Noralf) Thomas Zimmermann (4): drm/simple-kms: Add drm_simple_encoder_{init,create}() drm/ast: Use simple encoder drm/mgag200: Use simple encoder drm/qxl: Use simple encoder drivers/gpu/drm/ast/ast_drv.h | 6 +- drivers/gpu/drm/ast/ast_mode.c | 25 +++----- drivers/gpu/drm/drm_simple_kms_helper.c | 34 +++++++++- drivers/gpu/drm/mgag200/mgag200_drv.h | 9 +-- drivers/gpu/drm/mgag200/mgag200_mode.c | 85 +++---------------------- drivers/gpu/drm/qxl/qxl_display.c | 18 +----- include/drm/drm_simple_kms_helper.h | 4 ++ 7 files changed, 59 insertions(+), 122 deletions(-) -- 2.25.0 _______________________________________________ Virtualization mailing list Virtualization@lists.linux-foundation.org https://lists.linuxfoundation.org/mailman/listinfo/virtualization