aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/video/omap2/dss/sdi.c
diff options
context:
space:
mode:
authorTomi Valkeinen <tomi.valkeinen@ti.com>2012-12-07 05:50:08 -0500
committerTomi Valkeinen <tomi.valkeinen@ti.com>2012-12-07 09:55:04 -0500
commit486c0e17b7d1a4f8f057a97f2e48f715208f950d (patch)
treed8ece0b76b86b47973921d33f5971d3a5be5d79a /drivers/video/omap2/dss/sdi.c
parent09a8c45cbb872f5e861c4385d6967d0aa7f637f1 (diff)
OMAPDSS: manage output-dssdev connection in output drivers
We currently attach an output to a dssdev in the initialization code for dssdevices in display.c. This works, but doesn't quite make sense: an output entity represents (surprisingly) an output of DSS, which is managed by an output driver. The output driver also handles adding new dssdev's for that particular output. It makes more sense to make the output-dssdev connection in the output driver. This is also in line with common display framework. Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
Diffstat (limited to 'drivers/video/omap2/dss/sdi.c')
-rw-r--r--drivers/video/omap2/dss/sdi.c9
1 files changed, 9 insertions, 0 deletions
diff --git a/drivers/video/omap2/dss/sdi.c b/drivers/video/omap2/dss/sdi.c
index 882ce89765e7..62b5374ce438 100644
--- a/drivers/video/omap2/dss/sdi.c
+++ b/drivers/video/omap2/dss/sdi.c
@@ -254,9 +254,18 @@ static void __init sdi_probe_pdata(struct platform_device *sdidev)
254 return; 254 return;
255 } 255 }
256 256
257 r = omapdss_output_set_device(&sdi.output, dssdev);
258 if (r) {
259 DSSERR("failed to connect output to new device: %s\n",
260 dssdev->name);
261 dss_put_device(dssdev);
262 return;
263 }
264
257 r = dss_add_device(dssdev); 265 r = dss_add_device(dssdev);
258 if (r) { 266 if (r) {
259 DSSERR("device %s register failed: %d\n", dssdev->name, r); 267 DSSERR("device %s register failed: %d\n", dssdev->name, r);
268 omapdss_output_unset_device(&sdi.output);
260 dss_put_device(dssdev); 269 dss_put_device(dssdev);
261 return; 270 return;
262 } 271 }