Hi, update of v4 [1] with review feedback integrated. Changes since v4: - Roll back drm_mode_config_cleanup() change, any encoders that are kept on the mode_config.encoder_list until then are still required to have funcs set. - Mention that {encoder,plane,crtc}_funcs.destroy should cleanup and kfree() the structure, and that it should not be allocated with devm_kzalloc(). - Point out drmm_encoder_alloc in the drm_encoder_init() documentation, drmm_universal_plane_alloc() in the drm_universal_plane_init() documentation, and drmm_crtc_alloc_with_planes() in the drm_crtc_alloc_with_planes() documentation. - WARN_ON(!funcs->destroy) in drm_{encoder,universal_plane}_init() and in drm_crtc_init_with_planes(). - WARN_ON(!funcs || funcs->destroy) in drmm_universal_plane_alloc() and in drmm_crtc_allow_with_planes(). - Mark funcs parameter as optional in drmm_encoder_alloc() documentation. - Address FIXME in drm_simple_encoder_init() documentation by pointing out drmm_simple_encoder_alloc(). [1] https://lore.kernel.org/dri-devel/20201208155451.8421-1-p.zabel@xxxxxxxxxxxxxx/ regards Philipp Philipp Zabel (19): drm/encoder: make encoder control functions optional drm: add drmm_encoder_alloc() drm/simple_kms_helper: add drmm_simple_encoder_alloc() drm/plane: add drmm_universal_plane_alloc() drm/crtc: add drmm_crtc_alloc_with_planes() drm/imx: dw_hdmi-imx: move initialization into probe drm/imx: imx-ldb: use local connector variable drm/imx: imx-ldb: move initialization into probe drm/imx: imx-tve: use local encoder and connector variables drm/imx: imx-tve: move initialization into probe drm/imx: imx-tve: use devm_clk_register drm/imx: parallel-display: use local bridge and connector variables drm/imx: parallel-display: move initialization into probe drm/imx: dw_hdmi-imx: use drm managed resources drm/imx: imx-ldb: use drm managed resources drm/imx: imx-tve: use drm managed resources drm/imx: parallel-display: use drm managed resources drm/imx: ipuv3-plane: use drm managed resources drm/imx: ipuv3-crtc: use drm managed resources drivers/gpu/drm/drm_crtc.c | 125 +++++++++++++++++----- drivers/gpu/drm/drm_encoder.c | 113 +++++++++++++++----- drivers/gpu/drm/drm_mode_config.c | 2 +- drivers/gpu/drm/drm_plane.c | 134 +++++++++++++++++++----- drivers/gpu/drm/drm_simple_kms_helper.c | 14 ++- drivers/gpu/drm/imx/dw_hdmi-imx.c | 95 ++++++++--------- drivers/gpu/drm/imx/imx-ldb.c | 109 ++++++++++--------- drivers/gpu/drm/imx/imx-tve.c | 109 +++++++++---------- drivers/gpu/drm/imx/ipuv3-crtc.c | 131 +++++++---------------- drivers/gpu/drm/imx/ipuv3-plane.c | 69 ++++++------ drivers/gpu/drm/imx/ipuv3-plane.h | 3 - drivers/gpu/drm/imx/parallel-display.c | 91 ++++++++-------- include/drm/drm_crtc.h | 33 ++++++ include/drm/drm_encoder.h | 32 +++++- include/drm/drm_plane.h | 42 ++++++++ include/drm/drm_simple_kms_helper.h | 24 +++++ 16 files changed, 710 insertions(+), 416 deletions(-) -- 2.20.1 _______________________________________________ dri-devel mailing list dri-devel@xxxxxxxxxxxxxxxxxxxxx https://lists.freedesktop.org/mailman/listinfo/dri-devel