arm: omap: board-rx-51: use acx565akm panel's gpio handling
authorArchit Taneja <archit@ti.com>
Tue, 12 Feb 2013 08:35:37 +0000 (14:05 +0530)
committerTomi Valkeinen <tomi.valkeinen@ti.com>
Thu, 4 Apr 2013 08:50:56 +0000 (11:50 +0300)
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>
arch/arm/mach-omap2/board-rx51-video.c

index eb667261df0844555bb00de06c851ccc62bb9d7a..bd74f9f6063b243f523dc288d9aa3d8c1e71362f 100644 (file)
@@ -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"
 
 #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;
 }