From: zchen@windriver.com (zumeng.chen)
To: linux-arm-kernel@lists.infradead.org
Subject: [PATCH] ARM: OMAP2+: ads7846 init: fix fault caused by freeing pen-down GPIO
Date: Fri, 27 Jul 2012 05:19:33 +0800 [thread overview]
Message-ID: <5011B465.70605@windriver.com> (raw)
In-Reply-To: <87zk6mpbfa.fsf@ti.com>
On 2012?07?27? 03:30, Kevin Hilman wrote:
> + Zumeng Chen
>
> Igor Grinberg<grinberg@compulab.co.il> writes:
>
>> Hi Kevin,
>>
>> I've just noticed that the patch has been modified by Arnd in a way
>> that of course will trigger GPIO use without being requested.
>> I'm sorry, I was not available by that time Arnd changed the patch.
> Your right, your original patch isn't the problem. I found the root
> cause.
>
> The real problem is actually introduced by the merge of your patch from
> the arm-soc/cleanup branch, and this one from Zumeng Chen: commit
> 16aced80f6 (ARM: OMAP3530evm: set pendown_state and debounce time for
> ads7846) from the arm-soc/boards branch.
>
> However, looking closer at the one from Zumeng, that one is clearly not
> right. It unconditionally adds a *board-specific* ->get_pendown_state
> function to the pdata that is common to *all* boards. That's just wrong
> and has the side-effect of making ->get_pendown_state() wrong on every
> board except the OMAP3EVM. Oops.
>
> So, IMO, in addition to $SUBJECT patch, in order to get the touchscreen
> GPIO working on non OMAP3EVM boards, we also need something like this as
> well.
Definitely, thanks Kevin.
> Igor, Zumeng, could you try this out on your boards anc confirm if it's
> working? I currently don't have a board setup with a touchscreen in my
> board farm.
Acked
Zumeng
> Kevin
>
> From 85516c6a3354967caf4cff434d28c3001cd411eb Mon Sep 17 00:00:00 2001
> From: Kevin Hilman<khilman@ti.com>
> Date: Thu, 26 Jul 2012 12:15:38 -0700
> Subject: [PATCH 2/2] ARM: OMAP2+: ads7846: fix ->get_pendown_state() to work
> on all boards
>
> commit 16aced80f6 (ARM: OMAP3530evm: set pendown_state and debounce
> time for ads7846) introduced a common ->get_pendown_state() function
> into the generic code, but that function was board-specific for the
> OMAP3EVM.
>
> Fix this up to work for all boards that pass in a pendown GPIO.
>
> Cc: Zumeng Chen<zumeng.chen@windriver.com>
> Cc: Igor Grinberg<grinberg@compulab.co.il>
> Signed-off-by: Kevin Hilman<khilman@ti.com>
> ---
> arch/arm/mach-omap2/board-omap3evm.c | 1 +
> arch/arm/mach-omap2/common-board-devices.c | 4 +++-
> arch/arm/mach-omap2/common-board-devices.h | 1 -
> 3 files changed, 4 insertions(+), 2 deletions(-)
>
> diff --git a/arch/arm/mach-omap2/board-omap3evm.c b/arch/arm/mach-omap2/board-omap3evm.c
> index ef230a0..0d362e9 100644
> --- a/arch/arm/mach-omap2/board-omap3evm.c
> +++ b/arch/arm/mach-omap2/board-omap3evm.c
> @@ -58,6 +58,7 @@
> #include "hsmmc.h"
> #include "common-board-devices.h"
>
> +#define OMAP3_EVM_TS_GPIO 175
> #define OMAP3_EVM_EHCI_VBUS 22
> #define OMAP3_EVM_EHCI_SELECT 61
>
> diff --git a/arch/arm/mach-omap2/common-board-devices.c b/arch/arm/mach-omap2/common-board-devices.c
> index 0fee95f..06f176f 100644
> --- a/arch/arm/mach-omap2/common-board-devices.c
> +++ b/arch/arm/mach-omap2/common-board-devices.c
> @@ -40,9 +40,10 @@ static struct omap2_mcspi_device_config ads7846_mcspi_config = {
> * of pdata->get_pendown_state, but we have done this. So set
> * get_pendown_state to avoid twice gpio requesting.
> */
> +static int omap3_gpio_pendown;
> static int omap3_get_pendown_state(void)
> {
> - return !gpio_get_value(OMAP3_EVM_TS_GPIO);
> + return !gpio_get_value(omap3_gpio_pendown);
> }
>
> static struct ads7846_platform_data ads7846_config = {
> @@ -74,6 +75,7 @@ void __init omap_ads7846_init(int bus_num, int gpio_pendown, int gpio_debounce,
> struct spi_board_info *spi_bi =&ads7846_spi_board_info;
> int err;
>
> + omap3_gpio_pendown = gpio_pendown;
> err = gpio_request_one(gpio_pendown, GPIOF_IN, "TSPenDown");
> if (err) {
> pr_err("Couldn't obtain gpio for TSPenDown: %d\n", err);
> diff --git a/arch/arm/mach-omap2/common-board-devices.h b/arch/arm/mach-omap2/common-board-devices.h
> index 4c4ef6a..a0b4a428 100644
> --- a/arch/arm/mach-omap2/common-board-devices.h
> +++ b/arch/arm/mach-omap2/common-board-devices.h
> @@ -4,7 +4,6 @@
> #include "twl-common.h"
>
> #define NAND_BLOCK_SIZE SZ_128K
> -#define OMAP3_EVM_TS_GPIO 175
>
> struct mtd_partition;
> struct ads7846_platform_data;
next prev parent reply other threads:[~2012-07-26 21:19 UTC|newest]
Thread overview: 21+ messages / expand[flat|nested] mbox.gz Atom feed top
2012-07-11 23:18 [PATCH] ARM: OMAP2+: ads7846 init: fix fault caused by freeing pen-down GPIO Kevin Hilman
2012-07-23 12:53 ` Igor Grinberg
2012-07-23 13:18 ` Igor Grinberg
2012-07-26 19:30 ` Kevin Hilman
2012-07-26 21:19 ` zumeng.chen [this message]
2012-07-26 21:58 ` Kevin Hilman
2012-07-26 22:40 ` zumeng.chen
2012-07-27 5:02 ` Zumeng Chen
2012-07-27 15:30 ` Igor Grinberg
2012-07-27 17:46 ` Kevin Hilman
2012-07-27 19:04 ` Igor Grinberg
2012-07-28 0:28 ` Kevin Hilman
2012-08-06 20:22 ` [PATCH] Revert "ARM: OMAP3530evm: set pendown_state and debounce time for ads7846" Igor Grinberg
2012-08-06 20:52 ` Kevin Hilman
2012-08-07 1:44 ` Zumeng Chen
2012-08-07 5:58 ` Igor Grinberg
2012-08-07 10:58 ` Tony Lindgren
2012-08-07 1:42 ` Zumeng Chen
2012-08-07 6:05 ` Igor Grinberg
2012-07-27 18:58 ` [PATCH] ARM: OMAP2+: ads7846 init: fix fault caused by freeing pen-down GPIO Igor Grinberg
2012-07-27 19:05 ` Kevin Hilman
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=5011B465.70605@windriver.com \
--to=zchen@windriver.com \
--cc=linux-arm-kernel@lists.infradead.org \
/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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).