Hello, This patch series fixes a crash in the LVDS encoder on D3 and E3 SoCs. See patch 1/9 for details. The next patches are additional cleanups. Patches 4/9 to 6/9 fix incorrect usage of the devm_* API. They could be made simpler by using the proposed drmm_* allocators for encoders and planes ([1]), but those haven't landed yet. Not depending on them also helps backporting those fixes to stable kernels. I will switch to the new helpers when they will be available. [1] https://lore.kernel.org/dri-devel/20200911135724.25833-1-p.zabel@xxxxxxxxxxxxxx/ Laurent Pinchart (9): drm: rcar-du: Fix crash when using LVDS1 clock for CRTC drm: rcar-du: Release vsp device reference in all error paths drm: rcar-du: Drop unneeded encoder cleanup in error path drm: rcar-du: Use DRM-managed allocation for VSP planes drm: rcar-du: Use DRM-managed allocation for encoders drm: rcar-du: Embed drm_device in rcar_du_device drm: rcar-du: Replace dev_private with container_of drm: rcar-du: Skip encoder allocation for LVDS1 in dual-link mode drm: rcar-du: Drop local encoder variable drivers/gpu/drm/rcar-du/rcar_du_crtc.c | 12 +-- drivers/gpu/drm/rcar-du/rcar_du_drv.c | 33 +++---- drivers/gpu/drm/rcar-du/rcar_du_drv.h | 13 ++- drivers/gpu/drm/rcar-du/rcar_du_encoder.c | 95 +++++++++++---------- drivers/gpu/drm/rcar-du/rcar_du_encoder.h | 2 - drivers/gpu/drm/rcar-du/rcar_du_kms.c | 12 +-- drivers/gpu/drm/rcar-du/rcar_du_plane.c | 8 +- drivers/gpu/drm/rcar-du/rcar_du_vsp.c | 28 ++++-- drivers/gpu/drm/rcar-du/rcar_du_writeback.c | 2 +- 9 files changed, 107 insertions(+), 98 deletions(-) -- Regards, Laurent Pinchart