drm/omap: dss: Add functions to connect and disconnect devices
The omap_dss_device objects model display components and are connected at runtime to create display pipelines. The connect and disconnect operations implemented by each component contain lots of duplicate code. As a first step towards fixing this, create new functions to wrap the direct calls to those operations and use them. Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com> Reviewed-by: Sebastian Reichel <sebastian.reichel@collabora.co.uk> Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
This commit is contained in:

committed by
Tomi Valkeinen

parent
b93109d7dc
commit
ec727e3f61
@@ -59,7 +59,7 @@ static int tvc_connect(struct omap_dss_device *dssdev)
|
||||
return PTR_ERR(in);
|
||||
}
|
||||
|
||||
r = in->ops->connect(in, dssdev);
|
||||
r = omapdss_device_connect(in, dssdev);
|
||||
if (r) {
|
||||
omap_dss_put_device(in);
|
||||
return r;
|
||||
@@ -79,7 +79,7 @@ static void tvc_disconnect(struct omap_dss_device *dssdev)
|
||||
if (!omapdss_device_is_connected(dssdev))
|
||||
return;
|
||||
|
||||
in->ops->disconnect(in, dssdev);
|
||||
omapdss_device_disconnect(in, dssdev);
|
||||
|
||||
omap_dss_put_device(in);
|
||||
ddata->in = NULL;
|
||||
|
@@ -72,7 +72,7 @@ static int dvic_connect(struct omap_dss_device *dssdev)
|
||||
return PTR_ERR(in);
|
||||
}
|
||||
|
||||
r = in->ops->connect(in, dssdev);
|
||||
r = omapdss_device_connect(in, dssdev);
|
||||
if (r) {
|
||||
omap_dss_put_device(in);
|
||||
return r;
|
||||
@@ -90,7 +90,7 @@ static void dvic_disconnect(struct omap_dss_device *dssdev)
|
||||
if (!omapdss_device_is_connected(dssdev))
|
||||
return;
|
||||
|
||||
in->ops->disconnect(in, dssdev);
|
||||
omapdss_device_disconnect(in, dssdev);
|
||||
|
||||
omap_dss_put_device(in);
|
||||
ddata->in = NULL;
|
||||
|
@@ -69,7 +69,7 @@ static int hdmic_connect(struct omap_dss_device *dssdev)
|
||||
return PTR_ERR(in);
|
||||
}
|
||||
|
||||
r = in->ops->connect(in, dssdev);
|
||||
r = omapdss_device_connect(in, dssdev);
|
||||
if (r) {
|
||||
omap_dss_put_device(in);
|
||||
return r;
|
||||
@@ -89,7 +89,7 @@ static void hdmic_disconnect(struct omap_dss_device *dssdev)
|
||||
if (!omapdss_device_is_connected(dssdev))
|
||||
return;
|
||||
|
||||
in->ops->disconnect(in, dssdev);
|
||||
omapdss_device_disconnect(in, dssdev);
|
||||
|
||||
omap_dss_put_device(in);
|
||||
ddata->in = NULL;
|
||||
|
@@ -50,7 +50,7 @@ static int opa362_connect(struct omap_dss_device *dssdev,
|
||||
return PTR_ERR(in);
|
||||
}
|
||||
|
||||
r = in->ops->connect(in, dssdev);
|
||||
r = omapdss_device_connect(in, dssdev);
|
||||
if (r) {
|
||||
omap_dss_put_device(in);
|
||||
return r;
|
||||
@@ -82,7 +82,7 @@ static void opa362_disconnect(struct omap_dss_device *dssdev,
|
||||
dst->src = NULL;
|
||||
dssdev->dst = NULL;
|
||||
|
||||
in->ops->disconnect(in, &ddata->dssdev);
|
||||
omapdss_device_disconnect(in, &ddata->dssdev);
|
||||
|
||||
omap_dss_put_device(in);
|
||||
ddata->in = NULL;
|
||||
|
@@ -44,7 +44,7 @@ static int tfp410_connect(struct omap_dss_device *dssdev,
|
||||
return PTR_ERR(in);
|
||||
}
|
||||
|
||||
r = in->ops->connect(in, dssdev);
|
||||
r = omapdss_device_connect(in, dssdev);
|
||||
if (r) {
|
||||
omap_dss_put_device(in);
|
||||
return r;
|
||||
@@ -74,7 +74,7 @@ static void tfp410_disconnect(struct omap_dss_device *dssdev,
|
||||
dst->src = NULL;
|
||||
dssdev->dst = NULL;
|
||||
|
||||
in->ops->disconnect(in, &ddata->dssdev);
|
||||
omapdss_device_disconnect(in, &ddata->dssdev);
|
||||
|
||||
omap_dss_put_device(in);
|
||||
ddata->in = NULL;
|
||||
|
@@ -49,7 +49,7 @@ static int tpd_connect(struct omap_dss_device *dssdev,
|
||||
return PTR_ERR(in);
|
||||
}
|
||||
|
||||
r = in->ops->connect(in, dssdev);
|
||||
r = omapdss_device_connect(in, dssdev);
|
||||
if (r) {
|
||||
omap_dss_put_device(in);
|
||||
return r;
|
||||
@@ -85,7 +85,7 @@ static void tpd_disconnect(struct omap_dss_device *dssdev,
|
||||
dst->src = NULL;
|
||||
dssdev->dst = NULL;
|
||||
|
||||
in->ops->disconnect(in, &ddata->dssdev);
|
||||
omapdss_device_disconnect(in, &ddata->dssdev);
|
||||
|
||||
omap_dss_put_device(in);
|
||||
ddata->in = NULL;
|
||||
|
@@ -50,7 +50,7 @@ static int panel_dpi_connect(struct omap_dss_device *dssdev)
|
||||
return PTR_ERR(in);
|
||||
}
|
||||
|
||||
r = in->ops->connect(in, dssdev);
|
||||
r = omapdss_device_connect(in, dssdev);
|
||||
if (r) {
|
||||
omap_dss_put_device(in);
|
||||
return r;
|
||||
@@ -68,7 +68,7 @@ static void panel_dpi_disconnect(struct omap_dss_device *dssdev)
|
||||
if (!omapdss_device_is_connected(dssdev))
|
||||
return;
|
||||
|
||||
in->ops->disconnect(in, dssdev);
|
||||
omapdss_device_disconnect(in, dssdev);
|
||||
|
||||
omap_dss_put_device(in);
|
||||
ddata->in = NULL;
|
||||
|
@@ -772,7 +772,7 @@ static int dsicm_connect(struct omap_dss_device *dssdev)
|
||||
return PTR_ERR(in);
|
||||
}
|
||||
|
||||
r = in->ops->connect(in, dssdev);
|
||||
r = omapdss_device_connect(in, dssdev);
|
||||
if (r) {
|
||||
dev_err(dev, "Failed to connect to video source\n");
|
||||
goto err_connect;
|
||||
@@ -796,7 +796,7 @@ static int dsicm_connect(struct omap_dss_device *dssdev)
|
||||
err_vc_id:
|
||||
in->ops->dsi.release_vc(in, ddata->channel);
|
||||
err_req_vc:
|
||||
in->ops->disconnect(in, dssdev);
|
||||
omapdss_device_disconnect(in, dssdev);
|
||||
err_connect:
|
||||
omap_dss_put_device(in);
|
||||
return r;
|
||||
@@ -811,7 +811,7 @@ static void dsicm_disconnect(struct omap_dss_device *dssdev)
|
||||
return;
|
||||
|
||||
in->ops->dsi.release_vc(in, ddata->channel);
|
||||
in->ops->disconnect(in, dssdev);
|
||||
omapdss_device_disconnect(in, dssdev);
|
||||
|
||||
omap_dss_put_device(in);
|
||||
ddata->in = NULL;
|
||||
|
@@ -131,7 +131,7 @@ static int lb035q02_connect(struct omap_dss_device *dssdev)
|
||||
return PTR_ERR(in);
|
||||
}
|
||||
|
||||
r = in->ops->connect(in, dssdev);
|
||||
r = omapdss_device_connect(in, dssdev);
|
||||
if (r) {
|
||||
omap_dss_put_device(in);
|
||||
return r;
|
||||
@@ -151,7 +151,7 @@ static void lb035q02_disconnect(struct omap_dss_device *dssdev)
|
||||
if (!omapdss_device_is_connected(dssdev))
|
||||
return;
|
||||
|
||||
in->ops->disconnect(in, dssdev);
|
||||
omapdss_device_disconnect(in, dssdev);
|
||||
|
||||
omap_dss_put_device(in);
|
||||
ddata->in = NULL;
|
||||
|
@@ -127,7 +127,7 @@ static int nec_8048_connect(struct omap_dss_device *dssdev)
|
||||
return PTR_ERR(in);
|
||||
}
|
||||
|
||||
r = in->ops->connect(in, dssdev);
|
||||
r = omapdss_device_connect(in, dssdev);
|
||||
if (r) {
|
||||
omap_dss_put_device(in);
|
||||
return r;
|
||||
@@ -145,7 +145,7 @@ static void nec_8048_disconnect(struct omap_dss_device *dssdev)
|
||||
if (!omapdss_device_is_connected(dssdev))
|
||||
return;
|
||||
|
||||
in->ops->disconnect(in, dssdev);
|
||||
omapdss_device_disconnect(in, dssdev);
|
||||
|
||||
omap_dss_put_device(in);
|
||||
ddata->in = NULL;
|
||||
|
@@ -73,7 +73,7 @@ static int sharp_ls_connect(struct omap_dss_device *dssdev)
|
||||
return PTR_ERR(in);
|
||||
}
|
||||
|
||||
r = in->ops->connect(in, dssdev);
|
||||
r = omapdss_device_connect(in, dssdev);
|
||||
if (r) {
|
||||
omap_dss_put_device(in);
|
||||
return r;
|
||||
@@ -91,7 +91,7 @@ static void sharp_ls_disconnect(struct omap_dss_device *dssdev)
|
||||
if (!omapdss_device_is_connected(dssdev))
|
||||
return;
|
||||
|
||||
in->ops->disconnect(in, dssdev);
|
||||
omapdss_device_disconnect(in, dssdev);
|
||||
|
||||
omap_dss_put_device(in);
|
||||
ddata->in = NULL;
|
||||
|
@@ -522,7 +522,7 @@ static int acx565akm_connect(struct omap_dss_device *dssdev)
|
||||
return PTR_ERR(in);
|
||||
}
|
||||
|
||||
r = in->ops->connect(in, dssdev);
|
||||
r = omapdss_device_connect(in, dssdev);
|
||||
if (r) {
|
||||
omap_dss_put_device(in);
|
||||
return r;
|
||||
@@ -540,7 +540,7 @@ static void acx565akm_disconnect(struct omap_dss_device *dssdev)
|
||||
if (!omapdss_device_is_connected(dssdev))
|
||||
return;
|
||||
|
||||
in->ops->disconnect(in, dssdev);
|
||||
omapdss_device_disconnect(in, dssdev);
|
||||
|
||||
omap_dss_put_device(in);
|
||||
ddata->in = NULL;
|
||||
|
@@ -181,7 +181,7 @@ static int td028ttec1_panel_connect(struct omap_dss_device *dssdev)
|
||||
return PTR_ERR(in);
|
||||
}
|
||||
|
||||
r = in->ops->connect(in, dssdev);
|
||||
r = omapdss_device_connect(in, dssdev);
|
||||
if (r) {
|
||||
omap_dss_put_device(in);
|
||||
return r;
|
||||
@@ -199,7 +199,7 @@ static void td028ttec1_panel_disconnect(struct omap_dss_device *dssdev)
|
||||
if (!omapdss_device_is_connected(dssdev))
|
||||
return;
|
||||
|
||||
in->ops->disconnect(in, dssdev);
|
||||
omapdss_device_disconnect(in, dssdev);
|
||||
|
||||
omap_dss_put_device(in);
|
||||
ddata->in = NULL;
|
||||
|
@@ -352,7 +352,7 @@ static int tpo_td043_connect(struct omap_dss_device *dssdev)
|
||||
return PTR_ERR(in);
|
||||
}
|
||||
|
||||
r = in->ops->connect(in, dssdev);
|
||||
r = omapdss_device_connect(in, dssdev);
|
||||
if (r) {
|
||||
omap_dss_put_device(in);
|
||||
return r;
|
||||
@@ -370,7 +370,7 @@ static void tpo_td043_disconnect(struct omap_dss_device *dssdev)
|
||||
if (!omapdss_device_is_connected(dssdev))
|
||||
return;
|
||||
|
||||
in->ops->disconnect(in, dssdev);
|
||||
omapdss_device_disconnect(in, dssdev);
|
||||
|
||||
omap_dss_put_device(in);
|
||||
ddata->in = NULL;
|
||||
|
Reference in New Issue
Block a user