2012-11-24 08:25:35

by Dmitry Torokhov

[permalink] [raw]
Subject: [PATCH] ARM: eukrea_mbimx27-baseboard - use stock get_pendown_state() in ads7846

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 <[email protected]>
---

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),
.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 */
--
1.7.11.7


--
Dmitry


2012-11-27 07:42:17

by Sascha Hauer

[permalink] [raw]
Subject: Re: [PATCH] ARM: eukrea_mbimx27-baseboard - use stock get_pendown_state() in ads7846

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 <[email protected]>
> ---
>
> 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


--
Pengutronix e.K. | |
Industrial Linux Solutions | http://www.pengutronix.de/ |
Peiner Str. 6-8, 31137 Hildesheim, Germany | Phone: +49-5121-206917-0 |
Amtsgericht Hildesheim, HRA 2686 | Fax: +49-5121-206917-5555 |

2012-11-27 08:10:13

by Eric Bénard

[permalink] [raw]
Subject: Re: [PATCH] ARM: eukrea_mbimx27-baseboard - use stock get_pendown_state() in ads7846

Le Tue, 27 Nov 2012 08:42:09 +0100,
Sascha Hauer <[email protected]> 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 <[email protected]>
> > ---
> >
> > 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

2012-11-27 09:04:07

by Dmitry Torokhov

[permalink] [raw]
Subject: [PATCH v2] ARM: eukrea_mbimx27-baseboard - use stock get_pendown_state() in ads7846

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 <[email protected]>
---

Adjusted to use IMX_GPIO_NR() macro.

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..f361143 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 = IMX_GPIO_NR(4, 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 */