OMAP: 3430SDP: remove vdvi regulator
authorTomi Valkeinen <tomi.valkeinen@nokia.com>
Thu, 4 Feb 2010 15:13:16 +0000 (17:13 +0200)
committerTomi Valkeinen <tomi.valkeinen@nokia.com>
Fri, 12 Feb 2010 10:46:08 +0000 (12:46 +0200)
The regulator is now enabled by DSS driver, and thus the panel driver
doesn't need to touch it.

Signed-off-by: Tomi Valkeinen <tomi.valkeinen@nokia.com>
arch/arm/mach-omap2/board-3430sdp.c
drivers/video/omap2/displays/panel-sharp-ls037v7dw01.c

index c90b0d0b1927e58911dad6d7bfe593b712323557..964c390c2f39d62203d516ce58c2f1ea7bfb3af1 100644 (file)
@@ -519,10 +519,6 @@ static struct regulator_init_data sdp3430_vdac = {
 
 /* VPLL2 for digital video outputs */
 static struct regulator_consumer_supply sdp3430_vpll2_supplies[] = {
-       {
-               .supply         = "vdvi",
-               .dev            = &sdp3430_lcd_device.dev,
-       },
        {
                .supply         = "vdds_dsi",
                .dev            = &sdp3430_dss_device.dev,
index bbe880bbe795b36729cf9c75bbf7676823834d4f..e207d66908d6d7db4f03fa8e2f3d8433f69f98ab 100644 (file)
 
 #include <plat/display.h>
 
-struct sharp_data {
-       /* XXX This regulator should actually be in SDP board file, not here,
-        * as it doesn't actually power the LCD, but something else that
-        * affects the output to LCD (I think. Somebody clarify). It doesn't do
-        * harm here, as SDP is the only board using this currently */
-       struct regulator *vdvi_reg;
-};
-
 static struct omap_video_timings sharp_ls_timings = {
        .x_res = 480,
        .y_res = 640,
@@ -50,48 +42,25 @@ static struct omap_video_timings sharp_ls_timings = {
 
 static int sharp_ls_panel_probe(struct omap_dss_device *dssdev)
 {
-       struct sharp_data *sd;
-
        dssdev->panel.config = OMAP_DSS_LCD_TFT | OMAP_DSS_LCD_IVS |
                OMAP_DSS_LCD_IHS;
        dssdev->panel.acb = 0x28;
        dssdev->panel.timings = sharp_ls_timings;
 
-       sd = kzalloc(sizeof(*sd), GFP_KERNEL);
-       if (!sd)
-               return -ENOMEM;
-
-       dev_set_drvdata(&dssdev->dev, sd);
-
-       sd->vdvi_reg = regulator_get(&dssdev->dev, "vdvi");
-       if (IS_ERR(sd->vdvi_reg)) {
-               kfree(sd);
-               pr_err("failed to get VDVI regulator\n");
-               return PTR_ERR(sd->vdvi_reg);
-       }
-
        return 0;
 }
 
 static void sharp_ls_panel_remove(struct omap_dss_device *dssdev)
 {
-       struct sharp_data *sd = dev_get_drvdata(&dssdev->dev);
-
-       regulator_put(sd->vdvi_reg);
-
-       kfree(sd);
 }
 
 static int sharp_ls_panel_enable(struct omap_dss_device *dssdev)
 {
-       struct sharp_data *sd = dev_get_drvdata(&dssdev->dev);
        int r = 0;
 
        /* wait couple of vsyncs until enabling the LCD */
        msleep(50);
 
-       regulator_enable(sd->vdvi_reg);
-
        if (dssdev->platform_enable)
                r = dssdev->platform_enable(dssdev);
 
@@ -100,13 +69,9 @@ static int sharp_ls_panel_enable(struct omap_dss_device *dssdev)
 
 static void sharp_ls_panel_disable(struct omap_dss_device *dssdev)
 {
-       struct sharp_data *sd = dev_get_drvdata(&dssdev->dev);
-
        if (dssdev->platform_disable)
                dssdev->platform_disable(dssdev);
 
-       regulator_disable(sd->vdvi_reg);
-
        /* wait at least 5 vsyncs after disabling the LCD */
 
        msleep(100);