summaryrefslogtreecommitdiffstats
path: root/drivers/gpu/drm/omapdrm/displays/connector-hdmi.c
diff options
context:
space:
mode:
authorLaurent Pinchart <laurent.pinchart@ideasonboard.com>2018-09-04 17:22:27 +0300
committerTomi Valkeinen <tomi.valkeinen@ti.com>2019-03-18 11:42:11 +0200
commitb80bfc66b0eeaf887f49c9cdb92ebba5ec0a94aa (patch)
tree13af115876421e3f593813351c150e2ee5bde1b9 /drivers/gpu/drm/omapdrm/displays/connector-hdmi.c
parentd2c53162f55798f7a6353ea021793b3a8e411914 (diff)
downloadlinux-b80bfc66b0eeaf887f49c9cdb92ebba5ec0a94aa.tar.bz2
drm/omap: Move common display enable/disable code to encoder
All .enable() and .disable() handlers for panels and connectors share common code that validates and updates the device's state. Move it to common locations in the omap_encoder_enable() and omap_encoder_disable() handlers. The enabled check in the .disable() handler is left untouched, it will be addressed separately. Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com> Reviewed-by: Sebastian Reichel <sebastian.reichel@collabora.com> Tested-by: Sebastian Reichel <sebastian.reichel@collabora.com> Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
Diffstat (limited to 'drivers/gpu/drm/omapdrm/displays/connector-hdmi.c')
-rw-r--r--drivers/gpu/drm/omapdrm/displays/connector-hdmi.c23
1 files changed, 1 insertions, 22 deletions
diff --git a/drivers/gpu/drm/omapdrm/displays/connector-hdmi.c b/drivers/gpu/drm/omapdrm/displays/connector-hdmi.c
index e602fa4a50a4..649364e04edd 100644
--- a/drivers/gpu/drm/omapdrm/displays/connector-hdmi.c
+++ b/drivers/gpu/drm/omapdrm/displays/connector-hdmi.c
@@ -43,40 +43,19 @@ static void hdmic_disconnect(struct omap_dss_device *src,
static int hdmic_enable(struct omap_dss_device *dssdev)
{
- struct panel_drv_data *ddata = to_panel_data(dssdev);
struct omap_dss_device *src = dssdev->src;
- int r;
-
- dev_dbg(ddata->dev, "enable\n");
-
- if (!omapdss_device_is_connected(dssdev))
- return -ENODEV;
-
- if (omapdss_device_is_enabled(dssdev))
- return 0;
- r = src->ops->enable(src);
- if (r)
- return r;
-
- dssdev->state = OMAP_DSS_DISPLAY_ACTIVE;
-
- return r;
+ return src->ops->enable(src);
}
static void hdmic_disable(struct omap_dss_device *dssdev)
{
- struct panel_drv_data *ddata = to_panel_data(dssdev);
struct omap_dss_device *src = dssdev->src;
- dev_dbg(ddata->dev, "disable\n");
-
if (!omapdss_device_is_enabled(dssdev))
return;
src->ops->disable(src);
-
- dssdev->state = OMAP_DSS_DISPLAY_DISABLED;
}
static bool hdmic_detect(struct omap_dss_device *dssdev)