diff options
Diffstat (limited to 'arch/arm/mach-omap2/board-zoom-display.c')
| -rw-r--r-- | arch/arm/mach-omap2/board-zoom-display.c | 35 | 
1 files changed, 10 insertions, 25 deletions
diff --git a/arch/arm/mach-omap2/board-zoom-display.c b/arch/arm/mach-omap2/board-zoom-display.c index 37b84c2b850..d4683ba5f72 100644 --- a/arch/arm/mach-omap2/board-zoom-display.c +++ b/arch/arm/mach-omap2/board-zoom-display.c @@ -15,40 +15,25 @@  #include <linux/i2c/twl.h>  #include <linux/spi/spi.h>  #include <plat/mcspi.h> -#include <plat/display.h> +#include <video/omapdss.h>  #define LCD_PANEL_RESET_GPIO_PROD	96  #define LCD_PANEL_RESET_GPIO_PILOT	55  #define LCD_PANEL_QVGA_GPIO		56 -static void zoom_lcd_panel_init(void) -{ -	int ret; -	unsigned char lcd_panel_reset_gpio; +static struct gpio zoom_lcd_gpios[] __initdata = { +	{ -EINVAL,		GPIOF_OUT_INIT_HIGH, "lcd reset" }, +	{ LCD_PANEL_QVGA_GPIO,	GPIOF_OUT_INIT_HIGH, "lcd qvga"	 }, +}; -	lcd_panel_reset_gpio = (omap_rev() > OMAP3430_REV_ES3_0) ? +static void __init zoom_lcd_panel_init(void) +{ +	zoom_lcd_gpios[0].gpio = (omap_rev() > OMAP3430_REV_ES3_0) ?  			LCD_PANEL_RESET_GPIO_PROD :  			LCD_PANEL_RESET_GPIO_PILOT; -	ret = gpio_request(lcd_panel_reset_gpio, "lcd reset"); -	if (ret) { -		pr_err("Failed to get LCD reset GPIO (gpio%d).\n", -			lcd_panel_reset_gpio); -		return; -	} -	gpio_direction_output(lcd_panel_reset_gpio, 1); - -	ret = gpio_request(LCD_PANEL_QVGA_GPIO, "lcd qvga"); -	if (ret) { -		pr_err("Failed to get LCD_PANEL_QVGA_GPIO (gpio%d).\n", -			LCD_PANEL_QVGA_GPIO); -		goto err0; -	} -	gpio_direction_output(LCD_PANEL_QVGA_GPIO, 1); - -	return; -err0: -	gpio_free(lcd_panel_reset_gpio); +	if (gpio_request_array(zoom_lcd_gpios, ARRAY_SIZE(zoom_lcd_gpios))) +		pr_err("%s: Failed to get LCD GPIOs.\n", __func__);  }  static int zoom_panel_enable_lcd(struct omap_dss_device *dssdev)  |