All of lore.kernel.org
 help / color / mirror / Atom feed
From: Igor Grinberg <grinberg@compulab.co.il>
To: Tomi Valkeinen <tomi.valkeinen@ti.com>
Cc: tony@atomide.com, linux-omap@vger.kernel.org,
	Hunyue Yau <hyau@mvista.com>
Subject: Re: [PATCH 3/6] OMAP: 2420SDP: Port the display driver to new DSS2
Date: Mon, 09 May 2011 11:21:07 +0300	[thread overview]
Message-ID: <4DC7A3F3.1060302@compulab.co.il> (raw)
In-Reply-To: <1304926567-26814-4-git-send-email-tomi.valkeinen@ti.com>

Hi Tomi,

On 05/09/11 10:36, Tomi Valkeinen wrote:

> Port the old omapfb panel driver to DSS2. This patch changes the board
> file only, the driver is ported in separate patch.
>
> Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
> Cc: Hunyue Yau <hyau@mvista.com>
> ---
>  arch/arm/mach-omap2/board-2430sdp.c |   84 +++++++++++++++++++++++++++++------
>  1 files changed, 70 insertions(+), 14 deletions(-)
>
> diff --git a/arch/arm/mach-omap2/board-2430sdp.c b/arch/arm/mach-omap2/board-2430sdp.c
> index 1fa6bb8..9b6e987 100644
> --- a/arch/arm/mach-omap2/board-2430sdp.c
> +++ b/arch/arm/mach-omap2/board-2430sdp.c
> @@ -38,6 +38,8 @@
>  #include <plat/gpmc.h>
>  #include <plat/usb.h>
>  #include <plat/gpmc-smc91x.h>
> +#include <plat/display.h>
> +#include <plat/panel-generic-dpi.h>
>  
>  #include "mux.h"
>  #include "hsmmc.h"
> @@ -98,20 +100,79 @@ static struct platform_device sdp2430_flash_device = {
>  	.resource	= &sdp2430_flash_resource,
>  };
>  
> -static struct platform_device sdp2430_lcd_device = {
> -	.name		= "sdp2430_lcd",
> -	.id		= -1,
> -};
> -
>  static struct platform_device *sdp2430_devices[] __initdata = {
>  	&sdp2430_flash_device,
> +};
> +
> +/* LCD */
> +#define SDP2430_LCD_PANEL_BACKLIGHT_GPIO	91
> +#define SDP2430_LCD_PANEL_ENABLE_GPIO		154
> +
> +static int sdp2430_panel_enable_lcd(struct omap_dss_device *dssdev)
> +{
> +	gpio_direction_output(SDP2430_LCD_PANEL_ENABLE_GPIO, 1);
> +	gpio_direction_output(SDP2430_LCD_PANEL_BACKLIGHT_GPIO, 1);
> +
> +	return 0;
> +}
> +
> +static void sdp2430_panel_disable_lcd(struct omap_dss_device *dssdev)
> +{
> +	gpio_direction_output(SDP2430_LCD_PANEL_ENABLE_GPIO, 0);
> +	gpio_direction_output(SDP2430_LCD_PANEL_BACKLIGHT_GPIO, 0);
> +}
> +
> +static struct panel_generic_dpi_data sdp2430_panel_data = {
> +	.name			= "2430sdp",
> +	.platform_enable	= sdp2430_panel_enable_lcd,
> +	.platform_disable	= sdp2430_panel_disable_lcd,
> +};
> +
> +static struct omap_dss_device sdp2430_lcd_device = {
> +	.name			= "lcd",
> +	.driver_name		= "generic_dpi_panel",
> +	.type			= OMAP_DISPLAY_TYPE_DPI,
> +	.phy.dpi.data_lines	= 16,
> +	.data			= &sdp2430_panel_data,
> +};
> +
> +static struct omap_dss_device *sdp2430_dss_devices[] = {
>  	&sdp2430_lcd_device,
>  };
>  
> -static struct omap_lcd_config sdp2430_lcd_config __initdata = {
> -	.ctrl_name	= "internal",
> +static struct omap_dss_board_info sdp2430_dss_data = {
> +	.num_devices	= ARRAY_SIZE(sdp2430_dss_devices),
> +	.devices	= sdp2430_dss_devices,
> +	.default_device	= &sdp2430_lcd_device,
>  };
>  
> +static void __init sdp2430_display_init(void)
> +{
> +	int r;
> +
> +	r = gpio_request_one(SDP2430_LCD_PANEL_ENABLE_GPIO,
> +			GPIOF_OUT_INIT_LOW, "LCD reset");
> +	if (r) {
> +		printk(KERN_ERR "failed to get LCD reset GPIO\n");
> +		goto err0;
> +	}
> +
> +	r = gpio_request_one(SDP2430_LCD_PANEL_BACKLIGHT_GPIO,
> +			GPIOF_OUT_INIT_LOW, "LCD Backlight");
> +	if (r) {
> +		printk(KERN_ERR "failed to get LCD backlight GPIO\n");

can both printks be pr_err?

> +		goto err1;
> +	}
> +
> +	omap_display_init(&sdp2430_dss_data);
> +
> +	return;
> +err1:
> +	gpio_free(SDP2430_LCD_PANEL_ENABLE_GPIO);
> +err0:
> +	return;
> +}

I think using gpio_request_array() will be much cleaner here...

> +
>  #if defined(CONFIG_SMC91X) || defined(CONFIG_SMC91x_MODULE)
>  
>  static struct omap_smc91x_platform_data board_smc91x_data = {
> @@ -136,10 +197,6 @@ static inline void board_smc91x_init(void)
>  
>  #endif
>  
> -static struct omap_board_config_kernel sdp2430_config[] __initdata = {
> -	{OMAP_TAG_LCD, &sdp2430_lcd_config},
> -};
> -
>  static void __init omap_2430sdp_init_early(void)
>  {
>  	omap2_init_common_infrastructure();
> @@ -244,9 +301,6 @@ static void __init omap_2430sdp_init(void)
>  
>  	omap2430_mux_init(board_mux, OMAP_PACKAGE_ZAC);
>  
> -	omap_board_config = sdp2430_config;
> -	omap_board_config_size = ARRAY_SIZE(sdp2430_config);
> -
>  	omap2430_i2c_init();
>  
>  	platform_add_devices(sdp2430_devices, ARRAY_SIZE(sdp2430_devices));
> @@ -263,6 +317,8 @@ static void __init omap_2430sdp_init(void)
>  	ret = gpio_request(SECONDARY_LCD_GPIO, "Secondary LCD backlight");
>  	if (ret == 0)
>  		gpio_direction_output(SECONDARY_LCD_GPIO, 0);
> +
> +	sdp2430_display_init();
>  }
>  
>  static void __init omap_2430sdp_map_io(void)

-- 
Regards,
Igor.


  reply	other threads:[~2011-05-09  8:21 UTC|newest]

Thread overview: 34+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2011-05-09  7:36 [PATCH 0/6] OMAP: board file changes for DSS2 porting Tomi Valkeinen
2011-05-09  7:36 ` [PATCH 1/6] OMAP: RX51: Remove unused old omapfb stuff Tomi Valkeinen
2011-05-09  7:36 ` [PATCH 2/6] OMAP: omap3touchbook: Remove unused lcd stuff Tomi Valkeinen
2011-05-09  7:36 ` [PATCH 3/6] OMAP: 2420SDP: Port the display driver to new DSS2 Tomi Valkeinen
2011-05-09  8:21   ` Igor Grinberg [this message]
2011-05-09 16:57     ` Tomi Valkeinen
2011-05-09  7:36 ` [PATCH 4/6] OMAP: LDP: " Tomi Valkeinen
2011-05-09  8:08   ` stanley.miao
2011-05-11  4:58   ` Janorkar, Mayuresh
2011-05-11  6:32     ` Tomi Valkeinen
2011-05-12  6:40       ` Igor Grinberg
2011-05-12  7:16         ` Igor Grinberg
2011-05-12  8:38           ` Igor Grinberg
2011-05-12  8:47             ` Janorkar, Mayuresh
2011-05-12 11:20               ` Igor Grinberg
2011-05-12 11:47                 ` Tomi Valkeinen
2011-05-12 14:36                   ` Janorkar, Mayuresh
2011-05-12 14:47                     ` Tomi Valkeinen
2011-05-12 14:50                       ` Janorkar, Mayuresh
2011-05-12 14:59                         ` Tomi Valkeinen
2011-05-16  8:53         ` Tomi Valkeinen
2011-05-16 11:13           ` Igor Grinberg
2011-05-17 11:49             ` Tomi Valkeinen
2011-05-17 11:56               ` Tomi Valkeinen
2011-05-17 12:28                 ` Igor Grinberg
2011-05-17 13:16                   ` Tomi Valkeinen
2011-05-16 11:26           ` Janorkar, Mayuresh
2011-05-17 11:44             ` Tomi Valkeinen
2011-05-09  7:36 ` [PATCH 5/6] OMAP: H4: " Tomi Valkeinen
2011-05-09  7:36 ` [PATCH 6/6] OMAP: Apollon: " Tomi Valkeinen
2011-05-09 17:01 ` [PATCH 0/6] OMAP: board file changes for DSS2 porting Tomi Valkeinen
2011-05-10 13:35   ` Tony Lindgren
2011-05-10 14:03     ` Tomi Valkeinen
2011-05-11  7:08       ` Tony Lindgren

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=4DC7A3F3.1060302@compulab.co.il \
    --to=grinberg@compulab.co.il \
    --cc=hyau@mvista.com \
    --cc=linux-omap@vger.kernel.org \
    --cc=tomi.valkeinen@ti.com \
    --cc=tony@atomide.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.