diff options
Diffstat (limited to 'drivers/video/omap2/displays/panel-taal.c')
-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 | ||