summaryrefslogtreecommitdiff
path: root/drivers/gpu/drm/imx/imx-ldb.c
diff options
context:
space:
mode:
authorLucas Stach <l.stach@pengutronix.de>2016-06-16 12:19:41 +0300
committerPhilipp Zabel <p.zabel@pengutronix.de>2016-08-29 17:30:48 +0300
commitb1318d50a0dddda4f4facfedf757a5a328ddfd94 (patch)
tree44b06086fbfe29f1a59c7f3f7399b879c37f1ef3 /drivers/gpu/drm/imx/imx-ldb.c
parentac4708fab1422905870a1c286e69d784ddc7358c (diff)
downloadlinux-b1318d50a0dddda4f4facfedf757a5a328ddfd94.tar.xz
drm/imx: imx-ldb: detach panel on unbind
Make sure to leave a clean panel state behind and allow to properly attach to the panel again on a rebind. Signed-off-by: Lucas Stach <l.stach@pengutronix.de> Signed-off-by: Philipp Zabel <p.zabel@pengutronix.de>
Diffstat (limited to 'drivers/gpu/drm/imx/imx-ldb.c')
-rw-r--r--drivers/gpu/drm/imx/imx-ldb.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/drivers/gpu/drm/imx/imx-ldb.c b/drivers/gpu/drm/imx/imx-ldb.c
index 87b83bd78716..27a471c5e7c9 100644
--- a/drivers/gpu/drm/imx/imx-ldb.c
+++ b/drivers/gpu/drm/imx/imx-ldb.c
@@ -757,6 +757,9 @@ static void imx_ldb_unbind(struct device *dev, struct device *master,
for (i = 0; i < 2; i++) {
struct imx_ldb_channel *channel = &imx_ldb->channel[i];
+ if (channel->panel)
+ drm_panel_detach(channel->panel);
+
kfree(channel->edid);
i2c_put_adapter(channel->ddc);
}