aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--drivers/video/omap2/dss/dpi.c11
1 files changed, 9 insertions, 2 deletions
diff --git a/drivers/video/omap2/dss/dpi.c b/drivers/video/omap2/dss/dpi.c
index 0aa396b36e7e..aa653c46d9a4 100644
--- a/drivers/video/omap2/dss/dpi.c
+++ b/drivers/video/omap2/dss/dpi.c
@@ -37,6 +37,8 @@
37#include "dss_features.h" 37#include "dss_features.h"
38 38
39static struct { 39static struct {
40 struct platform_device *pdev;
41
40 struct regulator *vdds_dsi_reg; 42 struct regulator *vdds_dsi_reg;
41 struct platform_device *dsidev; 43 struct platform_device *dsidev;
42 44
@@ -555,8 +557,11 @@ static int dpi_init_regulator(void)
555 vdds_dsi = dss_get_vdds_dsi(); 557 vdds_dsi = dss_get_vdds_dsi();
556 558
557 if (IS_ERR(vdds_dsi)) { 559 if (IS_ERR(vdds_dsi)) {
558 DSSERR("can't get VDDS_DSI regulator\n"); 560 vdds_dsi = devm_regulator_get(&dpi.pdev->dev, "vdds_dsi");
559 return PTR_ERR(vdds_dsi); 561 if (IS_ERR(vdds_dsi)) {
562 DSSERR("can't get VDDS_DSI regulator\n");
563 return PTR_ERR(vdds_dsi);
564 }
560 } 565 }
561 566
562 dpi.vdds_dsi_reg = vdds_dsi; 567 dpi.vdds_dsi_reg = vdds_dsi;
@@ -707,6 +712,8 @@ static int omap_dpi_probe(struct platform_device *pdev)
707{ 712{
708 int r; 713 int r;
709 714
715 dpi.pdev = pdev;
716
710 mutex_init(&dpi.lock); 717 mutex_init(&dpi.lock);
711 718
712 dpi_init_output(pdev); 719 dpi_init_output(pdev);