diff options
author | Tomi Valkeinen <tomi.valkeinen@ti.com> | 2012-02-20 05:18:52 -0500 |
---|---|---|
committer | Tomi Valkeinen <tomi.valkeinen@ti.com> | 2012-05-09 03:53:05 -0400 |
commit | 3acc797c1db2eb873b13a07f21fe9572af4b78ee (patch) | |
tree | 6b28c959da58c5ac7a0da4080688d9b1220fa2cb /drivers/video | |
parent | dac8eb5f1d29eb4cf44305239da7e7a477e48a90 (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')
-rw-r--r-- | drivers/video/omap2/displays/panel-taal.c | 15 |
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); |
1075 | err_bl: | 1084 | err_bl: |
1085 | if (gpio_is_valid(panel_data->reset_gpio)) | ||
1086 | gpio_free(panel_data->reset_gpio); | ||
1087 | err_rst_gpio: | ||
1076 | destroy_workqueue(td->workqueue); | 1088 | destroy_workqueue(td->workqueue); |
1077 | err_wq: | 1089 | err_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 | ||