[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-Id: <20180115171614.14474-33-thierry.escande@collabora.com>
Date: Mon, 15 Jan 2018 18:16:06 +0100
From: Thierry Escande <thierry.escande@...labora.com>
To: Archit Taneja <architt@...eaurora.org>,
Inki Dae <inki.dae@...sung.com>,
Thierry Reding <thierry.reding@...il.com>,
Sandy Huang <hjc@...k-chips.com>,
Sean Paul <seanpaul@...omium.org>,
David Airlie <airlied@...ux.ie>
Cc: Tomasz Figa <tfiga@...omium.org>, Haixia Shi <hshi@...omium.org>,
Ørjan Eide <orjan.eide@....com>,
zain wang <wzz@...k-chips.com>,
Yakir Yang <ykk@...k-chips.com>, Lin Huang <hl@...k-chips.com>,
Douglas Anderson <dianders@...omium.org>,
Mark Yao <mark.yao@...k-chips.com>,
linux-kernel@...r.kernel.org, linux-rockchip@...ts.infradead.org,
dri-devel@...ts.freedesktop.org
Subject: [PATCH 32/40] drm/bridge: analogix_dp: Add analogix_dp_shutdown
From: Tomasz Figa <tfiga@...omium.org>
This patch adds a function that master driver can call at shutdown time
in case there is some cleanup work to do. The function will then call
back to platform_data .cleanup() callback to let the master driver do
the platform-specific work.
Cc: Kristian H. Kristensen <hoegsberg@...omium.org>
Cc: Brian Norris <briannorris@...omium.org>
Signed-off-by: Tomasz Figa <tfiga@...omium.org>
Signed-off-by: Sean Paul <seanpaul@...omium.org>
Signed-off-by: Thierry Escande <thierry.escande@...labora.com>
---
drivers/gpu/drm/bridge/analogix/analogix_dp_core.c | 7 +++++++
include/drm/bridge/analogix_dp.h | 1 +
2 files changed, 8 insertions(+)
diff --git a/drivers/gpu/drm/bridge/analogix/analogix_dp_core.c b/drivers/gpu/drm/bridge/analogix/analogix_dp_core.c
index 2d44ef2fc3d2..a83140fa3448 100644
--- a/drivers/gpu/drm/bridge/analogix/analogix_dp_core.c
+++ b/drivers/gpu/drm/bridge/analogix/analogix_dp_core.c
@@ -1671,6 +1671,13 @@ void analogix_dp_unbind(struct analogix_dp_device *dp)
}
EXPORT_SYMBOL_GPL(analogix_dp_unbind);
+void analogix_dp_shutdown(struct analogix_dp_device *dp)
+{
+ if (dp->plat_data->cleanup)
+ dp->plat_data->cleanup(dp->plat_data);
+}
+EXPORT_SYMBOL_GPL(analogix_dp_shutdown);
+
#ifdef CONFIG_PM
int analogix_dp_suspend(struct analogix_dp_device *dp)
{
diff --git a/include/drm/bridge/analogix_dp.h b/include/drm/bridge/analogix_dp.h
index 96a6af0823aa..ed3ae1b5bb65 100644
--- a/include/drm/bridge/analogix_dp.h
+++ b/include/drm/bridge/analogix_dp.h
@@ -52,6 +52,7 @@ struct analogix_dp_device *
analogix_dp_bind(struct device *dev, struct drm_device *drm_dev,
struct analogix_dp_plat_data *plat_data);
void analogix_dp_unbind(struct analogix_dp_device *dp);
+void analogix_dp_shutdown(struct analogix_dp_device *dp);
int analogix_dp_start_crc(struct drm_connector *connector);
int analogix_dp_stop_crc(struct drm_connector *connector);
--
2.14.1
Powered by blists - more mailing lists