summaryrefslogtreecommitdiffstats
path: root/drivers/video/omap2/displays/panel-taal.c
diff options
context:
space:
mode:
authorTomi Valkeinen <tomi.valkeinen@ti.com>2011-03-24 14:00:06 +0100
committerTomi Valkeinen <tomi.valkeinen@ti.com>2011-05-11 13:20:48 +0200
commitbb5476c7203c3c4798381d81b27feb97af69a9d4 (patch)
tree0d591ac4dbf60316fb3775be6c0d56cd148f38f3 /drivers/video/omap2/displays/panel-taal.c
parentOMAP: DSS2: Taal: Add sysfs file for ESD interval (diff)
downloadlinux-bb5476c7203c3c4798381d81b27feb97af69a9d4.tar.xz
linux-bb5476c7203c3c4798381d81b27feb97af69a9d4.zip
OMAP: DSS2: Taal: Separate panel reset
Separate panel reset code to a function of its own. This will keep the code cleaner in the future when panel reset is called from multiple locations. Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
Diffstat (limited to 'drivers/video/omap2/displays/panel-taal.c')
-rw-r--r--drivers/video/omap2/displays/panel-taal.c13
1 files changed, 10 insertions, 3 deletions
diff --git a/drivers/video/omap2/displays/panel-taal.c b/drivers/video/omap2/displays/panel-taal.c
index 3f766035f885..e725a8d125b4 100644
--- a/drivers/video/omap2/displays/panel-taal.c
+++ b/drivers/video/omap2/displays/panel-taal.c
@@ -1018,6 +1018,15 @@ static void taal_power_off(struct omap_dss_device *dssdev)
td->enabled = 0;
}
+static int taal_panel_reset(struct omap_dss_device *dssdev)
+{
+ dev_err(&dssdev->dev, "performing LCD reset\n");
+
+ taal_power_off(dssdev);
+ taal_hw_reset(dssdev);
+ return taal_power_on(dssdev);
+}
+
static int taal_enable(struct omap_dss_device *dssdev)
{
struct taal_data *td = dev_get_drvdata(&dssdev->dev);
@@ -1582,9 +1591,7 @@ static void taal_esd_work(struct work_struct *work)
err:
dev_err(&dssdev->dev, "performing LCD reset\n");
- taal_power_off(dssdev);
- taal_hw_reset(dssdev);
- taal_power_on(dssdev);
+ taal_panel_reset(dssdev);
dsi_bus_unlock();