aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/video/omap
diff options
context:
space:
mode:
authorLinus Torvalds <torvalds@linux-foundation.org>2012-03-27 19:27:28 -0400
committerLinus Torvalds <torvalds@linux-foundation.org>2012-03-27 19:27:28 -0400
commit1bfecd935849a45b6b47d9f011e1c278ff880512 (patch)
tree23c08a9c103c92e5a4a4cd3311823426c9d2bdf9 /drivers/video/omap
parent281b05392fc2cb26209b4d85abaf4889ab1991f3 (diff)
parenta754a87ce8b17024358c1be8ee0232ef09a7055f (diff)
Merge tag 'boards' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc
Pull "ARM: board specific updates" from Arnd Bergmann/Olof Johansson: "These changes are all specific to one board only. We're trying to keep the number of board files low, but generally board level updates are ok on platforms that are working on moving towards DT based probing, which will eventually lead to removing them. The board-ams-delta.c board file gets a conflict between the removal of ams_delta_config and the addition of a lot of other data. The Kconfig file has two changes in the same line, and in exynos, the power domain cleanup conflicts with the addition of the image sensor device. Signed-off-by: Arnd Bergmann <arnd@arndb.de> [olof: Amended a fix for a mismerge to board-omap4panda.c] Signed-off-by: Olof Johansson <olof@lixom.net>" Fixed up some fairly trivial conflicts manually. * tag 'boards' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc: (82 commits) i.MX35-PDK: Add Camera support ARM : mx35: 3ds-board: add framebuffer device pxa/hx4700: Remove pcmcia platform_device structure ARM: pxa/hx4700: Reduce sleep mode battery discharge by 35% ARM: pxa/hx4700: Remove unwanted request for GPIO105 ARM: EXYNOS: support Exynos4210-bus Devfreq driver on Nuri board ARM: EXYNOS: Register JPEG on nuri ARM: EXYNOS: Register JPEG on universal_c210 ARM: S5PV210: Enable JPEG on SMDKV210 ARM: S5PV210: Add JPEG board definition ARM: EXYNOS: Enable JPEG on Origen ARM: EXYNOS: Enable JPEG on SMDKV310 ARM: EXYNOS: Add __init attribute to universal_camera_init() ARM: EXYNOS: Add __init attribute to nuri_camera_init() ARM: S5PV210: Enable FIMC on SMDKC110 ARM: S5PV210: Enable FIMC on SMDKV210 ARM: S5PV210: Enable MFC on SMDKC110 ARM: S5PV210: Enable MFC on SMDKV210 ARM: EXYNOS: Enable G2D on SMDKV310 ARM: tegra: update defconfig ...
Diffstat (limited to 'drivers/video/omap')
-rw-r--r--drivers/video/omap/lcd_ams_delta.c27
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..d3a311327227 100644
--- a/drivers/video/omap/lcd_ams_delta.c
+++ b/drivers/video/omap/lcd_ams_delta.c
@@ -25,6 +25,7 @@
25#include <linux/io.h> 25#include <linux/io.h>
26#include <linux/delay.h> 26#include <linux/delay.h>
27#include <linux/lcd.h> 27#include <linux/lcd.h>
28#include <linux/gpio.h>
28 29
29#include <plat/board-ams-delta.h> 30#include <plat/board-ams-delta.h>
30#include <mach/hardware.h> 31#include <mach/hardware.h>
@@ -98,29 +99,41 @@ static struct lcd_ops ams_delta_lcd_ops = {
98 99
99/* omapfb panel section */ 100/* omapfb panel section */
100 101
102static const struct gpio _gpios[] = {
103 {
104 .gpio = AMS_DELTA_GPIO_PIN_LCD_VBLEN,
105 .flags = GPIOF_OUT_INIT_LOW,
106 .label = "lcd_vblen",
107 },
108 {
109 .gpio = AMS_DELTA_GPIO_PIN_LCD_NDISP,
110 .flags = GPIOF_OUT_INIT_LOW,
111 .label = "lcd_ndisp",
112 },
113};
114
101static int ams_delta_panel_init(struct lcd_panel *panel, 115static int ams_delta_panel_init(struct lcd_panel *panel,
102 struct omapfb_device *fbdev) 116 struct omapfb_device *fbdev)
103{ 117{
104 return 0; 118 return gpio_request_array(_gpios, ARRAY_SIZE(_gpios));
105} 119}
106 120
107static void ams_delta_panel_cleanup(struct lcd_panel *panel) 121static void ams_delta_panel_cleanup(struct lcd_panel *panel)
108{ 122{
123 gpio_free_array(_gpios, ARRAY_SIZE(_gpios));
109} 124}
110 125
111static int ams_delta_panel_enable(struct lcd_panel *panel) 126static int ams_delta_panel_enable(struct lcd_panel *panel)
112{ 127{
113 ams_delta_latch2_write(AMS_DELTA_LATCH2_LCD_NDISP, 128 gpio_set_value(AMS_DELTA_GPIO_PIN_LCD_NDISP, 1);
114 AMS_DELTA_LATCH2_LCD_NDISP); 129 gpio_set_value(AMS_DELTA_GPIO_PIN_LCD_VBLEN, 1);
115 ams_delta_latch2_write(AMS_DELTA_LATCH2_LCD_VBLEN,
116 AMS_DELTA_LATCH2_LCD_VBLEN);
117 return 0; 130 return 0;
118} 131}
119 132
120static void ams_delta_panel_disable(struct lcd_panel *panel) 133static void ams_delta_panel_disable(struct lcd_panel *panel)
121{ 134{
122 ams_delta_latch2_write(AMS_DELTA_LATCH2_LCD_VBLEN, 0); 135 gpio_set_value(AMS_DELTA_GPIO_PIN_LCD_VBLEN, 0);
123 ams_delta_latch2_write(AMS_DELTA_LATCH2_LCD_NDISP, 0); 136 gpio_set_value(AMS_DELTA_GPIO_PIN_LCD_NDISP, 0);
124} 137}
125 138
126static unsigned long ams_delta_panel_get_caps(struct lcd_panel *panel) 139static unsigned long ams_delta_panel_get_caps(struct lcd_panel *panel)