diff options
author | Tony Lindgren <tony@atomide.com> | 2012-01-20 05:31:52 -0800 |
---|---|---|
committer | Tony Lindgren <tony@atomide.com> | 2012-01-20 05:31:52 -0800 |
commit | 967809bd7faf71ddc29c8081e0f21db8b201a0f4 (patch) | |
tree | 256bcce2b13a45b573b02ef73dcebe1f08a03593 /drivers/video | |
parent | dcd6c92267155e70a94b3927bce681ce74b80d1f (diff) | |
parent | 8d09a1bb3147ddbcf0a9483021ca699c54c54732 (diff) | |
download | linux-stable-967809bd7faf71ddc29c8081e0f21db8b201a0f4.tar.gz linux-stable-967809bd7faf71ddc29c8081e0f21db8b201a0f4.tar.bz2 linux-stable-967809bd7faf71ddc29c8081e0f21db8b201a0f4.zip |
Merge branch 'omap1-part2' into omap1
Conflicts:
drivers/leds/leds-ams-delta.c
Diffstat (limited to 'drivers/video')
-rw-r--r-- | drivers/video/omap/lcd_ams_delta.c | 27 |
1 files changed, 20 insertions, 7 deletions
diff --git a/drivers/video/omap/lcd_ams_delta.c b/drivers/video/omap/lcd_ams_delta.c index 0fdd6f6873bf..0e71e2898b18 100644 --- a/drivers/video/omap/lcd_ams_delta.c +++ b/drivers/video/omap/lcd_ams_delta.c @@ -25,6 +25,7 @@ #include <linux/io.h> #include <linux/delay.h> #include <linux/lcd.h> +#include <linux/gpio.h> #include <plat/board-ams-delta.h> #include <mach/hardware.h> @@ -98,29 +99,41 @@ static struct lcd_ops ams_delta_lcd_ops = { /* omapfb panel section */ +static struct gpio _gpios[] __initconst_or_module = { + { + .gpio = AMS_DELTA_GPIO_PIN_LCD_VBLEN, + .flags = GPIOF_OUT_INIT_LOW, + .label = "lcd_vblen", + }, + { + .gpio = AMS_DELTA_GPIO_PIN_LCD_NDISP, + .flags = GPIOF_OUT_INIT_LOW, + .label = "lcd_ndisp", + }, +}; + static int ams_delta_panel_init(struct lcd_panel *panel, struct omapfb_device *fbdev) { - return 0; + return gpio_request_array(_gpios, ARRAY_SIZE(_gpios)); } static void ams_delta_panel_cleanup(struct lcd_panel *panel) { + gpio_free_array(_gpios, ARRAY_SIZE(_gpios)); } static int ams_delta_panel_enable(struct lcd_panel *panel) { - ams_delta_latch2_write(AMS_DELTA_LATCH2_LCD_NDISP, - AMS_DELTA_LATCH2_LCD_NDISP); - ams_delta_latch2_write(AMS_DELTA_LATCH2_LCD_VBLEN, - AMS_DELTA_LATCH2_LCD_VBLEN); + gpio_set_value(AMS_DELTA_GPIO_PIN_LCD_NDISP, 1); + gpio_set_value(AMS_DELTA_GPIO_PIN_LCD_VBLEN, 1); return 0; } static void ams_delta_panel_disable(struct lcd_panel *panel) { - ams_delta_latch2_write(AMS_DELTA_LATCH2_LCD_VBLEN, 0); - ams_delta_latch2_write(AMS_DELTA_LATCH2_LCD_NDISP, 0); + gpio_set_value(AMS_DELTA_GPIO_PIN_LCD_VBLEN, 0); + gpio_set_value(AMS_DELTA_GPIO_PIN_LCD_NDISP, 0); } static unsigned long ams_delta_panel_get_caps(struct lcd_panel *panel) |