diff options
| author | Archit Taneja <archit@ti.com> | 2013-02-13 15:07:38 +0530 | 
|---|---|---|
| committer | Tomi Valkeinen <tomi.valkeinen@ti.com> | 2013-04-04 11:51:00 +0300 | 
| commit | 20012c775a8fd369ccd9d6f83d46a8942f0ebb20 (patch) | |
| tree | 5ba71023bc9b0222b655967158ae04704dc9147b /arch/arm/mach-omap2/board-zoom-display.c | |
| parent | 3c803f40e8da044f5b66bf21a454315117c9ac17 (diff) | |
| download | olio-linux-3.10-20012c775a8fd369ccd9d6f83d46a8942f0ebb20.tar.xz olio-linux-3.10-20012c775a8fd369ccd9d6f83d46a8942f0ebb20.zip  | |
arm: omap: board-zoom: use NEC panel's gpio handling
The zoom board file currently requests gpios required by the nec-nl8048hl11-01
dpi panel, and provides dummy platform_enable/disable callbacks.
gpio request and configuration have been moved to the nec-nl8048hl11-01 panel
driver itself and shouldn't be done in the board files.
Remove the gpio requests and the platform callbacks from the board file. Add the
gpio information to panel_nec_nl8048_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/board-zoom-display.c')
| -rw-r--r-- | arch/arm/mach-omap2/board-zoom-display.c | 38 | 
1 files changed, 13 insertions, 25 deletions
diff --git a/arch/arm/mach-omap2/board-zoom-display.c b/arch/arm/mach-omap2/board-zoom-display.c index 9a7174faac5..c2a079cb76f 100644 --- a/arch/arm/mach-omap2/board-zoom-display.c +++ b/arch/arm/mach-omap2/board-zoom-display.c @@ -15,8 +15,9 @@  #include <linux/spi/spi.h>  #include <linux/platform_data/spi-omap2-mcspi.h>  #include <video/omapdss.h> -#include "board-zoom.h" +#include <video/omap-panel-data.h> +#include "board-zoom.h"  #include "soc.h"  #include "common.h" @@ -24,37 +25,17 @@  #define LCD_PANEL_RESET_GPIO_PILOT	55  #define LCD_PANEL_QVGA_GPIO		56 -static struct gpio zoom_lcd_gpios[] __initdata = { -	{ -EINVAL,		GPIOF_OUT_INIT_HIGH, "lcd reset" }, -	{ LCD_PANEL_QVGA_GPIO,	GPIOF_OUT_INIT_HIGH, "lcd qvga"	 }, +static struct panel_nec_nl8048_data zoom_lcd_data = { +	/* res_gpio filled in code */ +	.qvga_gpio = LCD_PANEL_QVGA_GPIO,  }; -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; - -	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) -{ -	return 0; -} - -static void zoom_panel_disable_lcd(struct omap_dss_device *dssdev) -{ -} -  static struct omap_dss_device zoom_lcd_device = {  	.name			= "lcd",  	.driver_name		= "NEC_8048_panel",  	.type			= OMAP_DISPLAY_TYPE_DPI,  	.phy.dpi.data_lines	= 24, -	.platform_enable	= zoom_panel_enable_lcd, -	.platform_disable	= zoom_panel_disable_lcd, +	.data			= &zoom_lcd_data,  };  static struct omap_dss_device *zoom_dss_devices[] = { @@ -67,6 +48,13 @@ static struct omap_dss_board_info zoom_dss_data = {  	.default_device		= &zoom_lcd_device,  }; +static void __init zoom_lcd_panel_init(void) +{ +	zoom_lcd_data.res_gpio = (omap_rev() > OMAP3430_REV_ES3_0) ? +			LCD_PANEL_RESET_GPIO_PROD : +			LCD_PANEL_RESET_GPIO_PILOT; +} +  static struct omap2_mcspi_device_config dss_lcd_mcspi_config = {  	.turbo_mode		= 1,  };  |