summaryrefslogtreecommitdiffstats
path: root/arch/arm/mach-omap2
diff options
context:
space:
mode:
authorArchit Taneja <archit@ti.com>2013-02-12 14:05:37 +0530
committerTomi Valkeinen <tomi.valkeinen@ti.com>2013-04-04 11:50:56 +0300
commit3c803f40e8da044f5b66bf21a454315117c9ac17 (patch)
treeadef68ad76c32257be1e6202b49e447646898e97 /arch/arm/mach-omap2
parenta05f92b70205df5927d767e9e0afecd2e5fde6d2 (diff)
downloadop-kernel-dev-3c803f40e8da044f5b66bf21a454315117c9ac17.zip
op-kernel-dev-3c803f40e8da044f5b66bf21a454315117c9ac17.tar.gz
arm: omap: board-rx-51: use acx565akm panel's gpio handling
The rx-51 board file currently requests gpios required by the acx565akm panel, and provides platform_enable/disable callbacks to configure them. These tasks have been moved to the acx565akm panel driver itself and shouldn't be done in the board files. Remove the gpio requests and the platform callbacks from the board file. Pass the panel_acx565akm_data instance 'lcd_data' to omap_dss_device instead of passing the gpio number in omap_dss_device's reset_gpio. Add the gpio information to panel_acx565akm_data so that it's passed to the panel driver. Signed-off-by: Archit Taneja <archit@ti.com> Cc: Tony Lindgren <tony@atomide.com>
Diffstat (limited to 'arch/arm/mach-omap2')
-rw-r--r--arch/arm/mach-omap2/board-rx51-video.c26
1 files changed, 7 insertions, 19 deletions
diff --git a/arch/arm/mach-omap2/board-rx51-video.c b/arch/arm/mach-omap2/board-rx51-video.c
index eb66726..bd74f9f 100644
--- a/arch/arm/mach-omap2/board-rx51-video.c
+++ b/arch/arm/mach-omap2/board-rx51-video.c
@@ -16,6 +16,8 @@
#include <linux/mm.h>
#include <asm/mach-types.h>
#include <video/omapdss.h>
+#include <video/omap-panel-data.h>
+
#include <linux/platform_data/spi-omap2-mcspi.h>
#include "soc.h"
@@ -27,25 +29,16 @@
#if defined(CONFIG_FB_OMAP2) || defined(CONFIG_FB_OMAP2_MODULE)
-static int rx51_lcd_enable(struct omap_dss_device *dssdev)
-{
- gpio_set_value(dssdev->reset_gpio, 1);
- return 0;
-}
-
-static void rx51_lcd_disable(struct omap_dss_device *dssdev)
-{
- gpio_set_value(dssdev->reset_gpio, 0);
-}
+static struct panel_acx565akm_data lcd_data = {
+ .reset_gpio = RX51_LCD_RESET_GPIO,
+};
static struct omap_dss_device rx51_lcd_device = {
.name = "lcd",
.driver_name = "panel-acx565akm",
.type = OMAP_DISPLAY_TYPE_SDI,
.phy.sdi.datapairs = 2,
- .reset_gpio = RX51_LCD_RESET_GPIO,
- .platform_enable = rx51_lcd_enable,
- .platform_disable = rx51_lcd_disable,
+ .data = &lcd_data,
};
static struct omap_dss_device rx51_tv_device = {
@@ -76,13 +69,8 @@ static int __init rx51_video_init(void)
return 0;
}
- if (gpio_request_one(RX51_LCD_RESET_GPIO, GPIOF_OUT_INIT_HIGH,
- "LCD ACX565AKM reset")) {
- pr_err("%s failed to get LCD Reset GPIO\n", __func__);
- return 0;
- }
-
omap_display_init(&rx51_dss_board_info);
+
return 0;
}
OpenPOWER on IntegriCloud