aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/video/omap2/displays
diff options
context:
space:
mode:
authorTomi Valkeinen <tomi.valkeinen@ti.com>2012-02-20 05:18:52 -0500
committerTomi Valkeinen <tomi.valkeinen@ti.com>2012-05-09 03:53:05 -0400
commit3acc797c1db2eb873b13a07f21fe9572af4b78ee (patch)
tree6b28c959da58c5ac7a0da4080688d9b1220fa2cb /drivers/video/omap2/displays
parentdac8eb5f1d29eb4cf44305239da7e7a477e48a90 (diff)
OMAPDSS: Taal: move reset gpio handling to taal driver
The reset GPIO for Taal panel driver is currently requested in the 4430sdp board file. This patch moves the gpio request/free into the Taal driver, where it should be. Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com> Acked-by: Tony Lindgren <tony@atomide.com>
Diffstat (limited to 'drivers/video/omap2/displays')
-rw-r--r--drivers/video/omap2/displays/panel-taal.c15
1 files changed, 15 insertions, 0 deletions
diff --git a/drivers/video/omap2/displays/panel-taal.c b/drivers/video/omap2/displays/panel-taal.c
index 0f21fa5a16ae..0888162e9ce9 100644
--- a/drivers/video/omap2/displays/panel-taal.c
+++ b/drivers/video/omap2/displays/panel-taal.c
@@ -993,6 +993,15 @@ static int taal_probe(struct omap_dss_device *dssdev)
993 993
994 dev_set_drvdata(&dssdev->dev, td); 994 dev_set_drvdata(&dssdev->dev, td);
995 995
996 if (gpio_is_valid(panel_data->reset_gpio)) {
997 r = gpio_request_one(panel_data->reset_gpio, GPIOF_OUT_INIT_LOW,
998 "taal rst");
999 if (r) {
1000 dev_err(&dssdev->dev, "failed to request reset gpio\n");
1001 goto err_rst_gpio;
1002 }
1003 }
1004
996 taal_hw_reset(dssdev); 1005 taal_hw_reset(dssdev);
997 1006
998 if (panel_data->use_dsi_backlight) { 1007 if (panel_data->use_dsi_backlight) {
@@ -1073,6 +1082,9 @@ err_gpio:
1073 if (bldev != NULL) 1082 if (bldev != NULL)
1074 backlight_device_unregister(bldev); 1083 backlight_device_unregister(bldev);
1075err_bl: 1084err_bl:
1085 if (gpio_is_valid(panel_data->reset_gpio))
1086 gpio_free(panel_data->reset_gpio);
1087err_rst_gpio:
1076 destroy_workqueue(td->workqueue); 1088 destroy_workqueue(td->workqueue);
1077err_wq: 1089err_wq:
1078 free_regulators(panel_config->regulators, panel_config->num_regulators); 1090 free_regulators(panel_config->regulators, panel_config->num_regulators);
@@ -1116,6 +1128,9 @@ static void __exit taal_remove(struct omap_dss_device *dssdev)
1116 free_regulators(td->panel_config->regulators, 1128 free_regulators(td->panel_config->regulators,
1117 td->panel_config->num_regulators); 1129 td->panel_config->num_regulators);
1118 1130
1131 if (gpio_is_valid(panel_data->reset_gpio))
1132 gpio_free(panel_data->reset_gpio);
1133
1119 kfree(td); 1134 kfree(td);
1120} 1135}
1121 1136