aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/video
diff options
context:
space:
mode:
authorTomi Valkeinen <tomi.valkeinen@ti.com>2012-11-05 06:41:25 -0500
committerTomi Valkeinen <tomi.valkeinen@ti.com>2012-11-07 03:34:09 -0500
commit76eed4bcb6f90e77764ec024411d6b409ce7c8a1 (patch)
tree956c5f6832eb2840abd29a4f0d7913e3b0f7aae2 /drivers/video
parent3758476501ce6381435f60c03ae31268097e2e91 (diff)
OMAPDSS: HACK: look for regulators with omap4 names
Normally the omapdss driver gets the regulators using the regulator names assigned for omapdss. However, in an effort to get a minimal DSS support for DT enabled kernel on selected boards, we will add omapdss devices and platform data the old way even for DT kernel. This causes the problem that omapdss cannot find the regulators using omapdss's regulator names. This patch creates a temporary workaround for DSI and HDMI by trying to get the regulators also using native OMAP4 regulator names. Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
Diffstat (limited to 'drivers/video')
-rw-r--r--drivers/video/omap2/dss/dsi.c8
-rw-r--r--drivers/video/omap2/dss/hdmi.c4
2 files changed, 12 insertions, 0 deletions
diff --git a/drivers/video/omap2/dss/dsi.c b/drivers/video/omap2/dss/dsi.c
index d9797da39e69..cf32dc7e70f2 100644
--- a/drivers/video/omap2/dss/dsi.c
+++ b/drivers/video/omap2/dss/dsi.c
@@ -1752,6 +1752,10 @@ int dsi_pll_init(struct platform_device *dsidev, bool enable_hsclk,
1752 1752
1753 vdds_dsi = regulator_get(&dsi->pdev->dev, "vdds_dsi"); 1753 vdds_dsi = regulator_get(&dsi->pdev->dev, "vdds_dsi");
1754 1754
1755 /* DT HACK: try VCXIO to make omapdss work for o4 sdp/panda */
1756 if (IS_ERR(vdds_dsi))
1757 vdds_dsi = regulator_get(&dsi->pdev->dev, "VCXIO");
1758
1755 if (IS_ERR(vdds_dsi)) { 1759 if (IS_ERR(vdds_dsi)) {
1756 DSSERR("can't get VDDS_DSI regulator\n"); 1760 DSSERR("can't get VDDS_DSI regulator\n");
1757 return PTR_ERR(vdds_dsi); 1761 return PTR_ERR(vdds_dsi);
@@ -4968,6 +4972,10 @@ static int __init dsi_init_display(struct omap_dss_device *dssdev)
4968 4972
4969 vdds_dsi = regulator_get(&dsi->pdev->dev, "vdds_dsi"); 4973 vdds_dsi = regulator_get(&dsi->pdev->dev, "vdds_dsi");
4970 4974
4975 /* DT HACK: try VCXIO to make omapdss work for o4 sdp/panda */
4976 if (IS_ERR(vdds_dsi))
4977 vdds_dsi = regulator_get(&dsi->pdev->dev, "VCXIO");
4978
4971 if (IS_ERR(vdds_dsi)) { 4979 if (IS_ERR(vdds_dsi)) {
4972 DSSERR("can't get VDDS_DSI regulator\n"); 4980 DSSERR("can't get VDDS_DSI regulator\n");
4973 return PTR_ERR(vdds_dsi); 4981 return PTR_ERR(vdds_dsi);
diff --git a/drivers/video/omap2/dss/hdmi.c b/drivers/video/omap2/dss/hdmi.c
index 6cf2fe2ac234..49f104e7d1d0 100644
--- a/drivers/video/omap2/dss/hdmi.c
+++ b/drivers/video/omap2/dss/hdmi.c
@@ -350,6 +350,10 @@ static int __init hdmi_init_display(struct omap_dss_device *dssdev)
350 350
351 reg = devm_regulator_get(&hdmi.pdev->dev, "vdda_hdmi_dac"); 351 reg = devm_regulator_get(&hdmi.pdev->dev, "vdda_hdmi_dac");
352 352
353 /* DT HACK: try VDAC to make omapdss work for o4 sdp/panda */
354 if (IS_ERR(reg))
355 reg = devm_regulator_get(&hdmi.pdev->dev, "VDAC");
356
353 if (IS_ERR(reg)) { 357 if (IS_ERR(reg)) {
354 DSSERR("can't get VDDA_HDMI_DAC regulator\n"); 358 DSSERR("can't get VDDA_HDMI_DAC regulator\n");
355 return PTR_ERR(reg); 359 return PTR_ERR(reg);