arm: omap: board-devkit8000: use generic dpi panel's gpio handling
authorArchit Taneja <archit@ti.com>
Fri, 14 Sep 2012 12:19:02 +0000 (15:19 +0300)
committerTomi Valkeinen <tomi.valkeinen@ti.com>
Thu, 4 Apr 2013 08:50:27 +0000 (11:50 +0300)
The devkit8000 board file currently requests gpios required to configure the
innolux DPI panel, and provides platform_enable/disable callbacks to configure
them.

These tasks have been moved to the generic dpi panel driver itself and should
be removed from the board files.

Remove the gpio request and the platform callbacks from the board file.
Configure the gpio information in generic dpi panel's platform 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-devkit8000.c

index 12d2126..34944cf 100644 (file)
@@ -103,19 +103,6 @@ static struct omap2_hsmmc_info mmc[] = {
        {}      /* Terminator */
 };
 
-static int devkit8000_panel_enable_lcd(struct omap_dss_device *dssdev)
-{
-       if (gpio_is_valid(dssdev->reset_gpio))
-               gpio_set_value_cansleep(dssdev->reset_gpio, 1);
-       return 0;
-}
-
-static void devkit8000_panel_disable_lcd(struct omap_dss_device *dssdev)
-{
-       if (gpio_is_valid(dssdev->reset_gpio))
-               gpio_set_value_cansleep(dssdev->reset_gpio, 0);
-}
-
 static struct regulator_consumer_supply devkit8000_vmmc1_supply[] = {
        REGULATOR_SUPPLY("vmmc", "omap_hsmmc.0"),
 };
@@ -127,8 +114,7 @@ static struct regulator_consumer_supply devkit8000_vio_supply[] = {
 
 static struct panel_generic_dpi_data lcd_panel = {
        .name                   = "innolux_at070tn83",
-       .platform_enable        = devkit8000_panel_enable_lcd,
-       .platform_disable       = devkit8000_panel_disable_lcd,
+       /* gpios filled in code */
 };
 
 static struct omap_dss_device devkit8000_lcd_device = {
@@ -210,8 +196,6 @@ static struct gpio_led gpio_leds[];
 static int devkit8000_twl_gpio_setup(struct device *dev,
                unsigned gpio, unsigned ngpio)
 {
-       int ret;
-
        /* gpio + 0 is "mmc0_cd" (input/IRQ) */
        mmc[0].gpio_cd = gpio + 0;
        omap_hsmmc_late_init(mmc);
@@ -220,13 +204,8 @@ static int devkit8000_twl_gpio_setup(struct device *dev,
        gpio_leds[2].gpio = gpio + TWL4030_GPIO_MAX + 1;
 
        /* TWL4030_GPIO_MAX + 0 is "LCD_PWREN" (out, active high) */
-       devkit8000_lcd_device.reset_gpio = gpio + TWL4030_GPIO_MAX + 0;
-       ret = gpio_request_one(devkit8000_lcd_device.reset_gpio,
-                              GPIOF_OUT_INIT_LOW, "LCD_PWREN");
-       if (ret < 0) {
-               devkit8000_lcd_device.reset_gpio = -EINVAL;
-               printk(KERN_ERR "Failed to request GPIO for LCD_PWRN\n");
-       }
+       lcd_panel.num_gpios = 1;
+       lcd_panel.gpios[0] = gpio + TWL4030_GPIO_MAX + 0;
 
        /* gpio + 7 is "DVI_PD" (out, active low) */
        dvi_panel.power_down_gpio = gpio + 7;