Skip to content

Commit 7269fde

Browse files
pinchartltomba
authored andcommitted
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>
1 parent fb55717 commit 7269fde

14 files changed

+362
-447
lines changed

drivers/gpu/drm/omapdrm/displays/connector-analog-tv.c

Lines changed: 18 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,6 @@
1818

1919
struct panel_drv_data {
2020
struct omap_dss_device dssdev;
21-
struct omap_dss_device *in;
2221

2322
struct device *dev;
2423

@@ -45,40 +44,37 @@ static const struct videomode tvc_pal_vm = {
4544
static int tvc_connect(struct omap_dss_device *dssdev)
4645
{
4746
struct panel_drv_data *ddata = to_panel_data(dssdev);
48-
struct omap_dss_device *in;
47+
struct omap_dss_device *src;
4948
int r;
5049

51-
in = omapdss_of_find_source_for_first_ep(ddata->dev->of_node);
52-
if (IS_ERR(in)) {
50+
src = omapdss_of_find_source_for_first_ep(ddata->dev->of_node);
51+
if (IS_ERR(src)) {
5352
dev_err(ddata->dev, "failed to find video source\n");
54-
return PTR_ERR(in);
53+
return PTR_ERR(src);
5554
}
5655

57-
r = omapdss_device_connect(in, dssdev);
56+
r = omapdss_device_connect(src, dssdev);
5857
if (r) {
59-
omap_dss_put_device(in);
58+
omap_dss_put_device(src);
6059
return r;
6160
}
6261

63-
ddata->in = in;
6462
return 0;
6563
}
6664

6765
static void tvc_disconnect(struct omap_dss_device *dssdev)
6866
{
69-
struct panel_drv_data *ddata = to_panel_data(dssdev);
70-
struct omap_dss_device *in = ddata->in;
67+
struct omap_dss_device *src = dssdev->src;
7168

72-
omapdss_device_disconnect(in, dssdev);
69+
omapdss_device_disconnect(src, dssdev);
7370

74-
omap_dss_put_device(in);
75-
ddata->in = NULL;
71+
omap_dss_put_device(src);
7672
}
7773

7874
static int tvc_enable(struct omap_dss_device *dssdev)
7975
{
8076
struct panel_drv_data *ddata = to_panel_data(dssdev);
81-
struct omap_dss_device *in = ddata->in;
77+
struct omap_dss_device *src = dssdev->src;
8278
int r;
8379

8480
dev_dbg(ddata->dev, "enable\n");
@@ -89,9 +85,9 @@ static int tvc_enable(struct omap_dss_device *dssdev)
8985
if (omapdss_device_is_enabled(dssdev))
9086
return 0;
9187

92-
in->ops->set_timings(in, &ddata->vm);
88+
src->ops->set_timings(src, &ddata->vm);
9389

94-
r = in->ops->enable(in);
90+
r = src->ops->enable(src);
9591
if (r)
9692
return r;
9793

@@ -103,14 +99,14 @@ static int tvc_enable(struct omap_dss_device *dssdev)
10399
static void tvc_disable(struct omap_dss_device *dssdev)
104100
{
105101
struct panel_drv_data *ddata = to_panel_data(dssdev);
106-
struct omap_dss_device *in = ddata->in;
102+
struct omap_dss_device *src = dssdev->src;
107103

108104
dev_dbg(ddata->dev, "disable\n");
109105

110106
if (!omapdss_device_is_enabled(dssdev))
111107
return;
112108

113-
in->ops->disable(in);
109+
src->ops->disable(src);
114110

115111
dssdev->state = OMAP_DSS_DISPLAY_DISABLED;
116112
}
@@ -119,11 +115,11 @@ static void tvc_set_timings(struct omap_dss_device *dssdev,
119115
struct videomode *vm)
120116
{
121117
struct panel_drv_data *ddata = to_panel_data(dssdev);
122-
struct omap_dss_device *in = ddata->in;
118+
struct omap_dss_device *src = dssdev->src;
123119

124120
ddata->vm = *vm;
125121

126-
in->ops->set_timings(in, vm);
122+
src->ops->set_timings(src, vm);
127123
}
128124

129125
static void tvc_get_timings(struct omap_dss_device *dssdev,
@@ -137,10 +133,9 @@ static void tvc_get_timings(struct omap_dss_device *dssdev,
137133
static int tvc_check_timings(struct omap_dss_device *dssdev,
138134
struct videomode *vm)
139135
{
140-
struct panel_drv_data *ddata = to_panel_data(dssdev);
141-
struct omap_dss_device *in = ddata->in;
136+
struct omap_dss_device *src = dssdev->src;
142137

143-
return in->ops->check_timings(in, vm);
138+
return src->ops->check_timings(src, vm);
144139
}
145140

146141
static const struct omap_dss_driver tvc_driver = {

drivers/gpu/drm/omapdrm/displays/connector-dvi.c

Lines changed: 18 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -40,7 +40,6 @@ static const struct videomode dvic_default_vm = {
4040

4141
struct panel_drv_data {
4242
struct omap_dss_device dssdev;
43-
struct omap_dss_device *in;
4443

4544
struct videomode vm;
4645

@@ -59,41 +58,37 @@ struct panel_drv_data {
5958

6059
static int dvic_connect(struct omap_dss_device *dssdev)
6160
{
62-
struct panel_drv_data *ddata = to_panel_data(dssdev);
63-
struct omap_dss_device *in;
61+
struct omap_dss_device *src;
6462
int r;
6563

66-
in = omapdss_of_find_source_for_first_ep(dssdev->dev->of_node);
67-
if (IS_ERR(in)) {
64+
src = omapdss_of_find_source_for_first_ep(dssdev->dev->of_node);
65+
if (IS_ERR(src)) {
6866
dev_err(dssdev->dev, "failed to find video source\n");
69-
return PTR_ERR(in);
67+
return PTR_ERR(src);
7068
}
7169

72-
r = omapdss_device_connect(in, dssdev);
70+
r = omapdss_device_connect(src, dssdev);
7371
if (r) {
74-
omap_dss_put_device(in);
72+
omap_dss_put_device(src);
7573
return r;
7674
}
7775

78-
ddata->in = in;
7976
return 0;
8077
}
8178

8279
static void dvic_disconnect(struct omap_dss_device *dssdev)
8380
{
84-
struct panel_drv_data *ddata = to_panel_data(dssdev);
85-
struct omap_dss_device *in = ddata->in;
81+
struct omap_dss_device *src = dssdev->src;
8682

87-
omapdss_device_disconnect(in, dssdev);
83+
omapdss_device_disconnect(src, dssdev);
8884

89-
omap_dss_put_device(in);
90-
ddata->in = NULL;
85+
omap_dss_put_device(src);
9186
}
9287

9388
static int dvic_enable(struct omap_dss_device *dssdev)
9489
{
9590
struct panel_drv_data *ddata = to_panel_data(dssdev);
96-
struct omap_dss_device *in = ddata->in;
91+
struct omap_dss_device *src = dssdev->src;
9792
int r;
9893

9994
if (!omapdss_device_is_connected(dssdev))
@@ -102,9 +97,9 @@ static int dvic_enable(struct omap_dss_device *dssdev)
10297
if (omapdss_device_is_enabled(dssdev))
10398
return 0;
10499

105-
in->ops->set_timings(in, &ddata->vm);
100+
src->ops->set_timings(src, &ddata->vm);
106101

107-
r = in->ops->enable(in);
102+
r = src->ops->enable(src);
108103
if (r)
109104
return r;
110105

@@ -115,13 +110,12 @@ static int dvic_enable(struct omap_dss_device *dssdev)
115110

116111
static void dvic_disable(struct omap_dss_device *dssdev)
117112
{
118-
struct panel_drv_data *ddata = to_panel_data(dssdev);
119-
struct omap_dss_device *in = ddata->in;
113+
struct omap_dss_device *src = dssdev->src;
120114

121115
if (!omapdss_device_is_enabled(dssdev))
122116
return;
123117

124-
in->ops->disable(in);
118+
src->ops->disable(src);
125119

126120
dssdev->state = OMAP_DSS_DISPLAY_DISABLED;
127121
}
@@ -130,11 +124,11 @@ static void dvic_set_timings(struct omap_dss_device *dssdev,
130124
struct videomode *vm)
131125
{
132126
struct panel_drv_data *ddata = to_panel_data(dssdev);
133-
struct omap_dss_device *in = ddata->in;
127+
struct omap_dss_device *src = dssdev->src;
134128

135129
ddata->vm = *vm;
136130

137-
in->ops->set_timings(in, vm);
131+
src->ops->set_timings(src, vm);
138132
}
139133

140134
static void dvic_get_timings(struct omap_dss_device *dssdev,
@@ -148,10 +142,9 @@ static void dvic_get_timings(struct omap_dss_device *dssdev,
148142
static int dvic_check_timings(struct omap_dss_device *dssdev,
149143
struct videomode *vm)
150144
{
151-
struct panel_drv_data *ddata = to_panel_data(dssdev);
152-
struct omap_dss_device *in = ddata->in;
145+
struct omap_dss_device *src = dssdev->src;
153146

154-
return in->ops->check_timings(in, vm);
147+
return src->ops->check_timings(src, vm);
155148
}
156149

157150
static int dvic_ddc_read(struct i2c_adapter *adapter,

0 commit comments

Comments
 (0)