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 | |
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>
-rw-r--r-- | arch/arm/mach-omap2/board-4430sdp.c | 16 | ||||
-rw-r--r-- | drivers/video/omap2/displays/panel-taal.c | 15 |
2 files changed, 15 insertions, 16 deletions
diff --git a/arch/arm/mach-omap2/board-4430sdp.c b/arch/arm/mach-omap2/board-4430sdp.c index 130ab00c09a2..6cbb16fb3817 100644 --- a/arch/arm/mach-omap2/board-4430sdp.c +++ b/arch/arm/mach-omap2/board-4430sdp.c | |||
@@ -758,21 +758,6 @@ static struct omap_dss_device sdp4430_lcd2_device = { | |||
758 | .channel = OMAP_DSS_CHANNEL_LCD2, | 758 | .channel = OMAP_DSS_CHANNEL_LCD2, |
759 | }; | 759 | }; |
760 | 760 | ||
761 | static void sdp4430_lcd_init(void) | ||
762 | { | ||
763 | int r; | ||
764 | |||
765 | r = gpio_request_one(dsi1_panel.reset_gpio, GPIOF_DIR_OUT, | ||
766 | "lcd1_reset_gpio"); | ||
767 | if (r) | ||
768 | pr_err("%s: Could not get lcd1_reset_gpio\n", __func__); | ||
769 | |||
770 | r = gpio_request_one(dsi2_panel.reset_gpio, GPIOF_DIR_OUT, | ||
771 | "lcd2_reset_gpio"); | ||
772 | if (r) | ||
773 | pr_err("%s: Could not get lcd2_reset_gpio\n", __func__); | ||
774 | } | ||
775 | |||
776 | static struct omap_dss_hdmi_data sdp4430_hdmi_data = { | 761 | static struct omap_dss_hdmi_data sdp4430_hdmi_data = { |
777 | .hpd_gpio = HDMI_GPIO_HPD, | 762 | .hpd_gpio = HDMI_GPIO_HPD, |
778 | }; | 763 | }; |
@@ -858,7 +843,6 @@ static void __init omap_4430sdp_display_init(void) | |||
858 | if (r) | 843 | if (r) |
859 | pr_err("%s: Could not get display_sel GPIO\n", __func__); | 844 | pr_err("%s: Could not get display_sel GPIO\n", __func__); |
860 | 845 | ||
861 | sdp4430_lcd_init(); | ||
862 | sdp4430_picodlp_init(); | 846 | sdp4430_picodlp_init(); |
863 | omap_display_init(&sdp4430_dss_data); | 847 | omap_display_init(&sdp4430_dss_data); |
864 | /* | 848 | /* |
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 | ||