Patchwork ARM: eukrea_mbimx27-baseboard - use stock get_pendown_state() in ads7846

login
register
mail settings
Submitter Dmitry Torokhov
Date Nov. 24, 2012, 8:25 a.m.
Message ID <20121124082529.GA7687@core.coreip.homeip.net>
Download mbox | patch
Permalink /patch/201444/
State New
Headers show

Comments

Dmitry Torokhov - Nov. 24, 2012, 8:25 a.m.
The default implementation matches exactly our custom one so we can switch
to using the default one. As a bonus the driver will take care of setting
GPIO line for us.

Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>
---

Not tested - no hardware, but should be fine.

 arch/arm/mach-imx/eukrea_mbimx27-baseboard.c | 19 +------------------
 1 file changed, 1 insertion(+), 18 deletions(-)
Sascha Hauer - Nov. 27, 2012, 7:42 a.m.
On Sat, Nov 24, 2012 at 12:25:30AM -0800, Dmitry Torokhov wrote:
> The default implementation matches exactly our custom one so we can switch
> to using the default one. As a bonus the driver will take care of setting
> GPIO line for us.
> 
> Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>
> ---
> 
> Not tested - no hardware, but should be fine.
> 
>  arch/arm/mach-imx/eukrea_mbimx27-baseboard.c | 19 +------------------
>  1 file changed, 1 insertion(+), 18 deletions(-)
> 
> diff --git a/arch/arm/mach-imx/eukrea_mbimx27-baseboard.c b/arch/arm/mach-imx/eukrea_mbimx27-baseboard.c
> index 98aef57..b20fc55 100644
> --- a/arch/arm/mach-imx/eukrea_mbimx27-baseboard.c
> +++ b/arch/arm/mach-imx/eukrea_mbimx27-baseboard.c
> @@ -238,24 +238,8 @@ static const struct imxuart_platform_data uart_pdata __initconst = {
>  	.flags = IMXUART_HAVE_RTSCTS,
>  };
>  
> -#define ADS7846_PENDOWN (GPIO_PORTD | 25)
> -
> -static void __maybe_unused ads7846_dev_init(void)
> -{
> -	if (gpio_request(ADS7846_PENDOWN, "ADS7846 pendown") < 0) {
> -		printk(KERN_ERR "can't get ads7846 pen down GPIO\n");
> -		return;
> -	}
> -	gpio_direction_input(ADS7846_PENDOWN);
> -}
> -
> -static int ads7846_get_pendown_state(void)
> -{
> -	return !gpio_get_value(ADS7846_PENDOWN);
> -}
> -
>  static struct ads7846_platform_data ads7846_config __initdata = {
> -	.get_pendown_state	= ads7846_get_pendown_state,
> +	.gpio_pendown		= (GPIO_PORTD | 25),

Please use IMX_GPIO_NR(4, 25) instead. Otherwise this looks ok.

Eric, ok with you?

Sascha
Eric Benard - Nov. 27, 2012, 8 a.m.
Le Tue, 27 Nov 2012 08:42:09 +0100,
Sascha Hauer <s.hauer@pengutronix.de> a écrit :

> On Sat, Nov 24, 2012 at 12:25:30AM -0800, Dmitry Torokhov wrote:
> > The default implementation matches exactly our custom one so we can switch
> > to using the default one. As a bonus the driver will take care of setting
> > GPIO line for us.
> > 
> > Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>
> > ---
> > 
> > Not tested - no hardware, but should be fine.
> > 
> >  arch/arm/mach-imx/eukrea_mbimx27-baseboard.c | 19 +------------------
> >  1 file changed, 1 insertion(+), 18 deletions(-)
> > 
> > diff --git a/arch/arm/mach-imx/eukrea_mbimx27-baseboard.c b/arch/arm/mach-imx/eukrea_mbimx27-baseboard.c
> > index 98aef57..b20fc55 100644
> > --- a/arch/arm/mach-imx/eukrea_mbimx27-baseboard.c
> > +++ b/arch/arm/mach-imx/eukrea_mbimx27-baseboard.c
> > @@ -238,24 +238,8 @@ static const struct imxuart_platform_data uart_pdata __initconst = {
> >  	.flags = IMXUART_HAVE_RTSCTS,
> >  };
> >  
> > -#define ADS7846_PENDOWN (GPIO_PORTD | 25)
> > -
> > -static void __maybe_unused ads7846_dev_init(void)
> > -{
> > -	if (gpio_request(ADS7846_PENDOWN, "ADS7846 pendown") < 0) {
> > -		printk(KERN_ERR "can't get ads7846 pen down GPIO\n");
> > -		return;
> > -	}
> > -	gpio_direction_input(ADS7846_PENDOWN);
> > -}
> > -
> > -static int ads7846_get_pendown_state(void)
> > -{
> > -	return !gpio_get_value(ADS7846_PENDOWN);
> > -}
> > -
> >  static struct ads7846_platform_data ads7846_config __initdata = {
> > -	.get_pendown_state	= ads7846_get_pendown_state,
> > +	.gpio_pendown		= (GPIO_PORTD | 25),
> 
> Please use IMX_GPIO_NR(4, 25) instead. Otherwise this looks ok.
> 
> Eric, ok with you?
> 
seems fine.

Eric

Patch

diff --git a/arch/arm/mach-imx/eukrea_mbimx27-baseboard.c b/arch/arm/mach-imx/eukrea_mbimx27-baseboard.c
index 98aef57..b20fc55 100644
--- a/arch/arm/mach-imx/eukrea_mbimx27-baseboard.c
+++ b/arch/arm/mach-imx/eukrea_mbimx27-baseboard.c
@@ -238,24 +238,8 @@  static const struct imxuart_platform_data uart_pdata __initconst = {
 	.flags = IMXUART_HAVE_RTSCTS,
 };
 
-#define ADS7846_PENDOWN (GPIO_PORTD | 25)
-
-static void __maybe_unused ads7846_dev_init(void)
-{
-	if (gpio_request(ADS7846_PENDOWN, "ADS7846 pendown") < 0) {
-		printk(KERN_ERR "can't get ads7846 pen down GPIO\n");
-		return;
-	}
-	gpio_direction_input(ADS7846_PENDOWN);
-}
-
-static int ads7846_get_pendown_state(void)
-{
-	return !gpio_get_value(ADS7846_PENDOWN);
-}
-
 static struct ads7846_platform_data ads7846_config __initdata = {
-	.get_pendown_state	= ads7846_get_pendown_state,
+	.gpio_pendown		= (GPIO_PORTD | 25),
 	.keep_vref_on		= 1,
 };
 
@@ -323,7 +307,6 @@  void __init eukrea_mbimx27_baseboard_init(void)
 	|| defined(CONFIG_TOUCHSCREEN_ADS7846_MODULE)
 	/* ADS7846 Touchscreen controller init */
 	mxc_gpio_mode(GPIO_PORTD | 25 | GPIO_GPIO | GPIO_IN);
-	ads7846_dev_init();
 #endif
 
 	/* SPI_CS0 init */