summaryrefslogtreecommitdiffstats
path: root/drivers/gpu/drm/omapdrm/displays/panel-sony-acx565akm.c
diff options
context:
space:
mode:
authorLaurent Pinchart <laurent.pinchart@ideasonboard.com>2018-02-28 17:30:30 +0200
committerTomi Valkeinen <tomi.valkeinen@ti.com>2018-09-03 16:13:26 +0300
commit7269fde4e8c96e67cd39f456cabf3329b06efffc (patch)
tree3dcfb29263b1e029fa586010bfad3df903c58e95 /drivers/gpu/drm/omapdrm/displays/panel-sony-acx565akm.c
parentfb5571717c24c264518aaaf1ab4ec4df73e4cebd (diff)
downloadlinux-7269fde4e8c96e67cd39f456cabf3329b06efffc.tar.bz2
drm/omap: displays: Remove input omap_dss_device from panel data
All connectors, encoders and panels store a pointer to their input omap_dss_device in the panel driver data structure. This duplicates the src field in the omap_dss_device structure. Remove the private copy and use the src field. 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>
Diffstat (limited to 'drivers/gpu/drm/omapdrm/displays/panel-sony-acx565akm.c')
-rw-r--r--drivers/gpu/drm/omapdrm/displays/panel-sony-acx565akm.c42
1 files changed, 18 insertions, 24 deletions
diff --git a/drivers/gpu/drm/omapdrm/displays/panel-sony-acx565akm.c b/drivers/gpu/drm/omapdrm/displays/panel-sony-acx565akm.c
index 0a2efcb84532..5bfd24c5ad5c 100644
--- a/drivers/gpu/drm/omapdrm/displays/panel-sony-acx565akm.c
+++ b/drivers/gpu/drm/omapdrm/displays/panel-sony-acx565akm.c
@@ -64,7 +64,6 @@
struct panel_drv_data {
struct omap_dss_device dssdev;
- struct omap_dss_device *in;
int reset_gpio;
@@ -509,48 +508,44 @@ static const struct attribute_group bldev_attr_group = {
static int acx565akm_connect(struct omap_dss_device *dssdev)
{
- struct panel_drv_data *ddata = to_panel_data(dssdev);
- struct omap_dss_device *in;
+ struct omap_dss_device *src;
int r;
- in = omapdss_of_find_source_for_first_ep(dssdev->dev->of_node);
- if (IS_ERR(in)) {
+ src = omapdss_of_find_source_for_first_ep(dssdev->dev->of_node);
+ if (IS_ERR(src)) {
dev_err(dssdev->dev, "failed to find video source\n");
- return PTR_ERR(in);
+ return PTR_ERR(src);
}
- r = omapdss_device_connect(in, dssdev);
+ r = omapdss_device_connect(src, dssdev);
if (r) {
- omap_dss_put_device(in);
+ omap_dss_put_device(src);
return r;
}
- ddata->in = in;
return 0;
}
static void acx565akm_disconnect(struct omap_dss_device *dssdev)
{
- struct panel_drv_data *ddata = to_panel_data(dssdev);
- struct omap_dss_device *in = ddata->in;
+ struct omap_dss_device *src = dssdev->src;
- omapdss_device_disconnect(in, dssdev);
+ omapdss_device_disconnect(src, dssdev);
- omap_dss_put_device(in);
- ddata->in = NULL;
+ omap_dss_put_device(src);
}
static int acx565akm_panel_power_on(struct omap_dss_device *dssdev)
{
struct panel_drv_data *ddata = to_panel_data(dssdev);
- struct omap_dss_device *in = ddata->in;
+ struct omap_dss_device *src = dssdev->src;
int r;
dev_dbg(&ddata->spi->dev, "%s\n", __func__);
- in->ops->set_timings(in, &ddata->vm);
+ src->ops->set_timings(src, &ddata->vm);
- r = in->ops->enable(in);
+ r = src->ops->enable(src);
if (r) {
pr_err("%s sdi enable failed\n", __func__);
return r;
@@ -591,7 +586,7 @@ static int acx565akm_panel_power_on(struct omap_dss_device *dssdev)
static void acx565akm_panel_power_off(struct omap_dss_device *dssdev)
{
struct panel_drv_data *ddata = to_panel_data(dssdev);
- struct omap_dss_device *in = ddata->in;
+ struct omap_dss_device *src = dssdev->src;
dev_dbg(dssdev->dev, "%s\n", __func__);
@@ -615,7 +610,7 @@ static void acx565akm_panel_power_off(struct omap_dss_device *dssdev)
/* FIXME need to tweak this delay */
msleep(100);
- in->ops->disable(in);
+ src->ops->disable(src);
}
static int acx565akm_enable(struct omap_dss_device *dssdev)
@@ -662,11 +657,11 @@ static void acx565akm_set_timings(struct omap_dss_device *dssdev,
struct videomode *vm)
{
struct panel_drv_data *ddata = to_panel_data(dssdev);
- struct omap_dss_device *in = ddata->in;
+ struct omap_dss_device *src = dssdev->src;
ddata->vm = *vm;
- in->ops->set_timings(in, vm);
+ src->ops->set_timings(src, vm);
}
static void acx565akm_get_timings(struct omap_dss_device *dssdev,
@@ -680,10 +675,9 @@ static void acx565akm_get_timings(struct omap_dss_device *dssdev,
static int acx565akm_check_timings(struct omap_dss_device *dssdev,
struct videomode *vm)
{
- struct panel_drv_data *ddata = to_panel_data(dssdev);
- struct omap_dss_device *in = ddata->in;
+ struct omap_dss_device *src = dssdev->src;
- return in->ops->check_timings(in, vm);
+ return src->ops->check_timings(src, vm);
}
static const struct omap_dss_driver acx565akm_ops = {