Skip to content

Commit

Permalink
OMAP: 3430SDP: remove vdvi regulator
Browse files Browse the repository at this point in the history
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>
  • Loading branch information
Tomi Valkeinen committed Feb 12, 2010
1 parent 8a2cfea commit 80b1cc2
Show file tree
Hide file tree
Showing 2 changed files with 0 additions and 39 deletions.
4 changes: 0 additions & 4 deletions arch/arm/mach-omap2/board-3430sdp.c
Original file line number Diff line number Diff line change
Expand Up @@ -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,
Expand Down
35 changes: 0 additions & 35 deletions drivers/video/omap2/displays/panel-sharp-ls037v7dw01.c
Original file line number Diff line number Diff line change
Expand Up @@ -25,14 +25,6 @@

#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,
Expand All @@ -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);

Expand All @@ -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);
Expand Down

0 comments on commit 80b1cc2

Please sign in to comment.