aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/video/omap2/dss/venc.c
diff options
context:
space:
mode:
authorTomi Valkeinen <tomi.valkeinen@nokia.com>2010-02-04 10:03:41 -0500
committerTomi Valkeinen <tomi.valkeinen@nokia.com>2010-02-12 05:46:08 -0500
commit8a2cfea8ccb6292dc43c37968fe08475ae7c2576 (patch)
tree880fb2f9e43172f84baa771c7060bb7c473f7816 /drivers/video/omap2/dss/venc.c
parente721032785b72afbc3da14c5525ca570bc2ed108 (diff)
OMAP: DSS2: enable VDDS_DSI when using DPI
It looks like on OMAP3 some DSS pins need VDDS_DSI to function properly. This has not been confirmed from TI, but looking at figure 15-1 "Display subsystem highlight" from the TRM, some data pins come near the DSI and SDI blocks. This is not very hard evidence, but the fact remains that with the power on, pixels are ok, and with the power off, pixels are not ok. It may also be that VDDS_SDI is needed to power some pins, but as normally both VDDS_SDI and VDDS_DSI come from the same power source, this hasn't been shown. It seems that a single driver can only get a regulator once. This patch solves it by getting all the required regulators in one place, and from which the submodules then get the regulators they need. Signed-off-by: Tomi Valkeinen <tomi.valkeinen@nokia.com>
Diffstat (limited to 'drivers/video/omap2/dss/venc.c')
-rw-r--r--drivers/video/omap2/dss/venc.c4
1 files changed, 1 insertions, 3 deletions
diff --git a/drivers/video/omap2/dss/venc.c b/drivers/video/omap2/dss/venc.c
index 749a5a0f5be4..44b4998c2052 100644
--- a/drivers/video/omap2/dss/venc.c
+++ b/drivers/video/omap2/dss/venc.c
@@ -482,7 +482,7 @@ int venc_init(struct platform_device *pdev)
482 return -ENOMEM; 482 return -ENOMEM;
483 } 483 }
484 484
485 venc.vdda_dac_reg = regulator_get(&pdev->dev, "vdda_dac"); 485 venc.vdda_dac_reg = dss_get_vdda_dac();
486 if (IS_ERR(venc.vdda_dac_reg)) { 486 if (IS_ERR(venc.vdda_dac_reg)) {
487 iounmap(venc.base); 487 iounmap(venc.base);
488 DSSERR("can't get VDDA_DAC regulator\n"); 488 DSSERR("can't get VDDA_DAC regulator\n");
@@ -503,8 +503,6 @@ void venc_exit(void)
503{ 503{
504 omap_dss_unregister_driver(&venc_driver); 504 omap_dss_unregister_driver(&venc_driver);
505 505
506 regulator_put(venc.vdda_dac_reg);
507
508 iounmap(venc.base); 506 iounmap(venc.base);
509} 507}
510 508