diff options
Diffstat (limited to 'arch/arm/mach-omap2/board-ldp.c')
| -rw-r--r-- | arch/arm/mach-omap2/board-ldp.c | 59 | 
1 files changed, 8 insertions, 51 deletions
diff --git a/arch/arm/mach-omap2/board-ldp.c b/arch/arm/mach-omap2/board-ldp.c index 8a8e505a0e9..d0d17bc58d9 100644 --- a/arch/arm/mach-omap2/board-ldp.c +++ b/arch/arm/mach-omap2/board-ldp.c @@ -181,34 +181,13 @@ static inline void __init ldp_init_smsc911x(void)  /* LCD */ -static int ldp_backlight_gpio; -static int ldp_lcd_enable_gpio; -  #define LCD_PANEL_RESET_GPIO		55  #define LCD_PANEL_QVGA_GPIO		56 -static int ldp_panel_enable_lcd(struct omap_dss_device *dssdev) -{ -	if (gpio_is_valid(ldp_lcd_enable_gpio)) -		gpio_direction_output(ldp_lcd_enable_gpio, 1); -	if (gpio_is_valid(ldp_backlight_gpio)) -		gpio_direction_output(ldp_backlight_gpio, 1); - -	return 0; -} - -static void ldp_panel_disable_lcd(struct omap_dss_device *dssdev) -{ -	if (gpio_is_valid(ldp_lcd_enable_gpio)) -		gpio_direction_output(ldp_lcd_enable_gpio, 0); -	if (gpio_is_valid(ldp_backlight_gpio)) -		gpio_direction_output(ldp_backlight_gpio, 0); -} -  static struct panel_generic_dpi_data ldp_panel_data = {  	.name			= "nec_nl2432dr22-11b", -	.platform_enable	= ldp_panel_enable_lcd, -	.platform_disable	= ldp_panel_disable_lcd, +	.num_gpios		= 4, +	/* gpios filled in code */  };  static struct omap_dss_device ldp_lcd_device = { @@ -231,41 +210,19 @@ static struct omap_dss_board_info ldp_dss_data = {  static void __init ldp_display_init(void)  { -	int r; - -	static struct gpio gpios[] __initdata = { -		{LCD_PANEL_RESET_GPIO, GPIOF_OUT_INIT_HIGH, "LCD RESET"}, -		{LCD_PANEL_QVGA_GPIO, GPIOF_OUT_INIT_HIGH, "LCD QVGA"}, -	}; - -	r = gpio_request_array(gpios, ARRAY_SIZE(gpios)); -	if (r) { -		pr_err("Cannot request LCD GPIOs, error %d\n", r); -		return; -	} +	ldp_panel_data.gpios[2] = LCD_PANEL_RESET_GPIO; +	ldp_panel_data.gpios[3] = LCD_PANEL_QVGA_GPIO;  	omap_display_init(&ldp_dss_data);  }  static int ldp_twl_gpio_setup(struct device *dev, unsigned gpio, unsigned ngpio)  { -	int r; - -	struct gpio gpios[] = { -		{gpio + 7 , GPIOF_OUT_INIT_LOW, "LCD ENABLE"}, -		{gpio + 15, GPIOF_OUT_INIT_LOW, "LCD BACKLIGHT"}, -	}; - -	r = gpio_request_array(gpios, ARRAY_SIZE(gpios)); -	if (r) { -		pr_err("Cannot request LCD GPIOs, error %d\n", r); -		ldp_backlight_gpio = -EINVAL; -		ldp_lcd_enable_gpio = -EINVAL; -		return r; -	} +	ldp_panel_data.gpios[0] = gpio + 7; +	ldp_panel_data.gpio_invert[0] = true; -	ldp_backlight_gpio = gpio + 15; -	ldp_lcd_enable_gpio = gpio + 7; +	ldp_panel_data.gpios[1] = gpio + 15; +	ldp_panel_data.gpio_invert[1] = true;  	return 0;  }  |