diff options
-rw-r--r-- | drivers/video/omap2/dss/dpi.c | 11 |
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 | ||
39 | static struct { | 39 | static 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); |