summaryrefslogtreecommitdiffstats
path: root/drivers/gpu/drm/drm_encoder.c
diff options
context:
space:
mode:
authorLaurent Pinchart <laurent.pinchart+renesas@ideasonboard.com>2016-11-28 18:32:05 +0200
committerArchit Taneja <architt@codeaurora.org>2016-12-18 16:32:49 +0530
commit4a878c03d56214a3dcf1a014e17c93bcdc587668 (patch)
tree86dfb26724bec8cc0404b315e775e96ee2111e50 /drivers/gpu/drm/drm_encoder.c
parent3bb80f249525c059572d4bc89ac77ac2e511bcbe (diff)
downloadlinux-4a878c03d56214a3dcf1a014e17c93bcdc587668.tar.bz2
drm: bridge: Detach bridge from encoder at encoder cleanup time
Most drivers that use bridges forgot to detach them at cleanup time. Instead of fixing them one by one, detach the bridge in the core drm_encoder_cleanup() function. Signed-off-by: Laurent Pinchart <laurent.pinchart+renesas@ideasonboard.com> Reviewed-by: Daniel Vetter <daniel.vetter@ffwll.ch> Signed-off-by: Archit Taneja <architt@codeaurora.org> Link: http://patchwork.freedesktop.org/patch/msgid/1481709550-29226-5-git-send-email-laurent.pinchart+renesas@ideasonboard.com
Diffstat (limited to 'drivers/gpu/drm/drm_encoder.c')
-rw-r--r--drivers/gpu/drm/drm_encoder.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/drivers/gpu/drm/drm_encoder.c b/drivers/gpu/drm/drm_encoder.c
index 992879f15f23..0944f08abf58 100644
--- a/drivers/gpu/drm/drm_encoder.c
+++ b/drivers/gpu/drm/drm_encoder.c
@@ -159,6 +159,9 @@ void drm_encoder_cleanup(struct drm_encoder *encoder)
* the indices on the drm_encoder after us in the encoder_list.
*/
+ if (encoder->bridge)
+ drm_bridge_detach(encoder->bridge);
+
drm_mode_object_unregister(dev, &encoder->base);
kfree(encoder->name);
list_del(&encoder->head);