Many DRM drivers implement an encoder with an empty implementation. This patchset adds drm_simple_encoder_init(), which drivers can use 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. v4: * print error messages with drm_err() (Sam) * qxl: handle errors of drm_simple_encoder_init() (Sam) 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 | 86 ++++--------------------- drivers/gpu/drm/qxl/qxl_display.c | 29 ++++----- include/drm/drm_simple_kms_helper.h | 4 ++ 7 files changed, 71 insertions(+), 122 deletions(-) -- 2.25.0 _______________________________________________ Virtualization mailing list Virtualization@xxxxxxxxxxxxxxxxxxxxxxxxxx https://lists.linuxfoundation.org/mailman/listinfo/virtualization