From: Igor Grinberg <grinberg@compulab.co.il>
To: Zumeng Chen <zumeng.chen@gmail.com>
Cc: khilman@ti.com, tony@atomide.com,
Dmitry Torokhov <dmitry.torokhov@gmail.com>,
Vaibhav Hiremath <hvaibhav@ti.com>,
ajay.gupta@ti.com, khasim@ti.com,
"linux-input@vger.kernel.org" <linux-input@vger.kernel.org>,
linux-omap@vger.kernel.org, linux-arm-kernel@lists.infradead.org
Subject: Re: [PATCH 5/5] Input: ads7846: set proper debounce time in driver level
Date: Tue, 12 Jun 2012 10:53:58 +0300 [thread overview]
Message-ID: <4FD6F596.6050905@compulab.co.il> (raw)
In-Reply-To: <CA+Y31weKZTY5RM+i_6c=DaY6WCdai7HcSzJkytWJO9cDeyKVcQ@mail.gmail.com>
On 06/12/12 05:49, Zumeng Chen wrote:
>
>
> 2012/6/11 Igor Grinberg <grinberg@compulab.co.il <mailto:grinberg@compulab.co.il>>
>
> Hi,
>
> This is input subsystem, add Dmitry and linux-input.
>
> On 06/11/12 17:00, Zumeng Chen wrote:
> > If we don't set proper debouce time for ads7846, then there are
> > flooded interrupt counters of ads7846 responding to one time
> > touch on screen, so the driver couldn't work well.
> >
> > And since most OMAP3 series boards pass NULL pointer of board_pdata
> > to omap_ads7846_init, so it's more proper to set it in driver level
> > after having gpio_request done.
>
> What about other non-OMAP platforms?
>
> Good point, I thought it should be the same situation, and I have no other boards
> to validate it :) Then I'll fall back on my original patch to bracket them with OMAP3EVM
This isn't a good solution either...
>
>
> NULL pointer for board_pdata, only means that the default pdata is used.
> Please, see the common-board-devices.c file more closely.
>
> Yes, I just went through again, two points:
>
> 1 ) get_pendown_state is not set for OMAP3 boards, and the state
You can supply your own pdata and provide the get_pendown_state() callback.
> will be get by gpio_get_value(gpio-omap.c)
> The second path will be available in the ads7846_setup_pendown
> if (pdata->get_pendown_state) {
> ts->get_pendown_state = pdata->get_pendown_state;
> } else if (gpio_is_valid(pdata->gpio_pendown)) {
>
> 2 ) All omap3 boards set gpio_pendown for pdata.
> So it had better we set_debounce in driver level after gpio_request_one
> having done
> I'll remove DEBOUNCE_TIME in V2 and change into like following:
>
> +#ifdef CONFIG_MACH_OMAP3EVM
> + /* 310 means 10 microsecond for omap3 */
> + gpio_set_debounce(pdata->gpio_pendown, 310);
> +#endif
I don't think this kind of fix is acceptable...
>
>
> >
> > This patch has been validated on 3530evm.
> >
> > Signed-off-by: Zumeng Chen <zumeng.chen@gmail.com <mailto:zumeng.chen@gmail.com>>
> > Signed-off-by: Syed Mohammed Khasim <khasim@ti.com <mailto:khasim@ti.com>>
> > Signed-off-by: Tony Lindgren <tony@atomide.com <mailto:tony@atomide.com>>
> > ---
> > drivers/input/touchscreen/ads7846.c | 2 ++
> > 1 files changed, 2 insertions(+), 0 deletions(-)
> >
> > diff --git a/drivers/input/touchscreen/ads7846.c b/drivers/input/touchscreen/ads7846.c
> > index f02028e..a82a5fb 100644
> > --- a/drivers/input/touchscreen/ads7846.c
> > +++ b/drivers/input/touchscreen/ads7846.c
> > @@ -61,6 +61,7 @@
> >
> > /* this driver doesn't aim at the peak continuous sample rate */
> > #define SAMPLE_BITS (8 /*cmd*/ + 16 /*sample*/ + 2 /* before, after */)
> > +#define DEBOUNCE_TIME 310 /* About 10 ms */
>
> I think hard coding this value is wrong.
>
> Yes, me too.
>
> Can't it be derived from the pdata->debounce_* fields?
>
> Yes, I agreed this way, and to be honest, my first choice
> is to find if there is a member for debounce, but no. And
> there is no more sense to derive it from debounce_max,
> although which is the right value for us.
It makes sense to me... Why do you think there is no sense?
--
Regards,
Igor.
WARNING: multiple messages have this Message-ID (diff)
From: grinberg@compulab.co.il (Igor Grinberg)
To: linux-arm-kernel@lists.infradead.org
Subject: [PATCH 5/5] Input: ads7846: set proper debounce time in driver level
Date: Tue, 12 Jun 2012 10:53:58 +0300 [thread overview]
Message-ID: <4FD6F596.6050905@compulab.co.il> (raw)
In-Reply-To: <CA+Y31weKZTY5RM+i_6c=DaY6WCdai7HcSzJkytWJO9cDeyKVcQ@mail.gmail.com>
On 06/12/12 05:49, Zumeng Chen wrote:
>
>
> 2012/6/11 Igor Grinberg <grinberg at compulab.co.il <mailto:grinberg@compulab.co.il>>
>
> Hi,
>
> This is input subsystem, add Dmitry and linux-input.
>
> On 06/11/12 17:00, Zumeng Chen wrote:
> > If we don't set proper debouce time for ads7846, then there are
> > flooded interrupt counters of ads7846 responding to one time
> > touch on screen, so the driver couldn't work well.
> >
> > And since most OMAP3 series boards pass NULL pointer of board_pdata
> > to omap_ads7846_init, so it's more proper to set it in driver level
> > after having gpio_request done.
>
> What about other non-OMAP platforms?
>
> Good point, I thought it should be the same situation, and I have no other boards
> to validate it :) Then I'll fall back on my original patch to bracket them with OMAP3EVM
This isn't a good solution either...
>
>
> NULL pointer for board_pdata, only means that the default pdata is used.
> Please, see the common-board-devices.c file more closely.
>
> Yes, I just went through again, two points:
>
> 1 ) get_pendown_state is not set for OMAP3 boards, and the state
You can supply your own pdata and provide the get_pendown_state() callback.
> will be get by gpio_get_value(gpio-omap.c)
> The second path will be available in the ads7846_setup_pendown
> if (pdata->get_pendown_state) {
> ts->get_pendown_state = pdata->get_pendown_state;
> } else if (gpio_is_valid(pdata->gpio_pendown)) {
>
> 2 ) All omap3 boards set gpio_pendown for pdata.
> So it had better we set_debounce in driver level after gpio_request_one
> having done
> I'll remove DEBOUNCE_TIME in V2 and change into like following:
>
> +#ifdef CONFIG_MACH_OMAP3EVM
> + /* 310 means 10 microsecond for omap3 */
> + gpio_set_debounce(pdata->gpio_pendown, 310);
> +#endif
I don't think this kind of fix is acceptable...
>
>
> >
> > This patch has been validated on 3530evm.
> >
> > Signed-off-by: Zumeng Chen <zumeng.chen at gmail.com <mailto:zumeng.chen@gmail.com>>
> > Signed-off-by: Syed Mohammed Khasim <khasim at ti.com <mailto:khasim@ti.com>>
> > Signed-off-by: Tony Lindgren <tony at atomide.com <mailto:tony@atomide.com>>
> > ---
> > drivers/input/touchscreen/ads7846.c | 2 ++
> > 1 files changed, 2 insertions(+), 0 deletions(-)
> >
> > diff --git a/drivers/input/touchscreen/ads7846.c b/drivers/input/touchscreen/ads7846.c
> > index f02028e..a82a5fb 100644
> > --- a/drivers/input/touchscreen/ads7846.c
> > +++ b/drivers/input/touchscreen/ads7846.c
> > @@ -61,6 +61,7 @@
> >
> > /* this driver doesn't aim at the peak continuous sample rate */
> > #define SAMPLE_BITS (8 /*cmd*/ + 16 /*sample*/ + 2 /* before, after */)
> > +#define DEBOUNCE_TIME 310 /* About 10 ms */
>
> I think hard coding this value is wrong.
>
> Yes, me too.
>
> Can't it be derived from the pdata->debounce_* fields?
>
> Yes, I agreed this way, and to be honest, my first choice
> is to find if there is a member for debounce, but no. And
> there is no more sense to derive it from debounce_max,
> although which is the right value for us.
It makes sense to me... Why do you think there is no sense?
--
Regards,
Igor.
next prev parent reply other threads:[~2012-06-12 7:53 UTC|newest]
Thread overview: 96+ messages / expand[flat|nested] mbox.gz Atom feed top
2012-06-11 14:00 [PATCH 0/5] OMAP3530evm misc fixes for linux-omap Zumeng Chen
2012-06-11 14:00 ` Zumeng Chen
2012-06-11 14:00 ` [PATCH 1/5] ARM: OMAP3EVM: Add NAND flash definition Zumeng Chen
2012-06-11 14:00 ` Zumeng Chen
2012-06-11 14:57 ` Jon Hunter
2012-06-11 14:57 ` Jon Hunter
2012-06-12 2:22 ` Zumeng Chen
2012-06-12 2:22 ` Zumeng Chen
2012-06-11 14:00 ` [PATCH 2/5] ARM: OMAP3EVM: Adding USB internal LDOs board file Zumeng Chen
2012-06-11 14:00 ` Zumeng Chen
2012-06-11 14:00 ` [PATCH 3/5] ARM: omap3evm: enable VBUS switch for EHCI tranceiver Zumeng Chen
2012-06-11 14:00 ` Zumeng Chen
2012-06-11 14:00 ` [PATCH 4/5] MFD: OMAP3EVM: USB: cosmetic fix to failed parent clk set Zumeng Chen
2012-06-11 14:00 ` Zumeng Chen
2012-06-11 15:03 ` Jon Hunter
2012-06-11 15:03 ` Jon Hunter
2012-06-12 2:30 ` Zumeng Chen
2012-06-12 2:30 ` Zumeng Chen
2012-06-12 16:27 ` Jon Hunter
2012-06-12 16:27 ` Jon Hunter
2012-06-12 16:54 ` Zumeng Chen
2012-06-12 16:54 ` Zumeng Chen
2012-06-12 7:56 ` Igor Grinberg
2012-06-12 7:56 ` Igor Grinberg
2012-06-11 14:00 ` [PATCH 5/5] Input: ads7846: set proper debounce time in driver level Zumeng Chen
2012-06-11 14:00 ` Zumeng Chen
2012-06-11 14:37 ` Igor Grinberg
2012-06-11 14:37 ` Igor Grinberg
2012-06-12 2:49 ` Zumeng Chen
2012-06-12 2:49 ` Zumeng Chen
2012-06-12 7:53 ` Igor Grinberg [this message]
2012-06-12 7:53 ` Igor Grinberg
2012-06-12 6:47 ` Tony Lindgren
2012-06-12 6:47 ` Tony Lindgren
2012-06-12 16:37 ` Zumeng Chen
2012-06-12 16:37 ` Zumeng Chen
2012-06-13 12:55 ` Tony Lindgren
2012-06-13 12:55 ` Tony Lindgren
2012-06-14 3:29 ` Zumeng Chen
2012-06-14 3:29 ` Zumeng Chen
2012-06-14 4:57 ` Zumeng Chen
2012-06-14 4:57 ` Zumeng Chen
2012-06-11 14:51 ` [PATCH 0/5] OMAP3530evm misc fixes for linux-omap Jon Hunter
2012-06-11 14:51 ` Jon Hunter
2012-06-12 2:31 ` Zumeng Chen
2012-06-12 2:31 ` Zumeng Chen
-- strict thread matches above, loose matches on Subject: below --
2012-06-13 1:44 [PATCH v2 0/5] ARM " Zumeng Chen
2012-06-13 1:44 ` Zumeng Chen
2012-06-13 1:44 ` [PATCH V2 1/5] ARM: OMAP3EVM: Add NAND flash definition Zumeng Chen
2012-06-13 1:44 ` Zumeng Chen
2012-06-13 7:57 ` Igor Grinberg
2012-06-13 7:57 ` Igor Grinberg
2012-06-13 8:16 ` Zumeng Chen
2012-06-13 8:16 ` Zumeng Chen
2012-06-13 1:44 ` [PATCH V2 2/5] ARM: OMAP3EVM: Adding USB internal LDOs board file Zumeng Chen
2012-06-13 1:44 ` Zumeng Chen
2012-06-13 8:16 ` Igor Grinberg
2012-06-13 8:16 ` Igor Grinberg
2012-06-13 8:23 ` Zumeng Chen
2012-06-13 8:23 ` Zumeng Chen
2012-06-13 1:44 ` [PATCH V2 3/5] ARM: omap3evm: enable VBUS switch for EHCI tranceiver Zumeng Chen
2012-06-13 1:44 ` Zumeng Chen
2012-06-13 1:44 ` [PATCH V2 4/5] ARM: OMAP3EVM: cosmetic fixes for parent clk set Zumeng Chen
2012-06-13 1:44 ` Zumeng Chen
2012-06-13 1:44 ` [PATCH V2 5/5] Input: ads7846: set proper debounce time in driver level Zumeng Chen
2012-06-13 1:44 ` Zumeng Chen
2012-06-13 7:51 ` Igor Grinberg
2012-06-13 7:51 ` Igor Grinberg
2012-06-13 9:03 ` Zumeng Chen
2012-06-13 9:03 ` Zumeng Chen
2012-06-13 10:13 ` Igor Grinberg
2012-06-13 10:13 ` Igor Grinberg
2012-06-16 13:27 ` Marek Vasut
2012-06-16 13:27 ` Marek Vasut
2012-06-13 12:18 ` Hiremath, Vaibhav
2012-06-13 12:18 ` Hiremath, Vaibhav
2012-06-14 3:29 ` Zumeng Chen
2012-06-14 3:29 ` Zumeng Chen
2012-06-14 4:46 ` Zumeng Chen
2012-06-14 4:46 ` Zumeng Chen
2012-06-14 6:31 ` Hiremath, Vaibhav
2012-06-14 6:31 ` Hiremath, Vaibhav
2012-06-14 6:59 ` Zumeng Chen
2012-06-14 6:59 ` Zumeng Chen
2012-06-16 0:15 ` zumeng.chen
2012-06-16 0:15 ` zumeng.chen
2012-06-20 5:28 ` Zumeng Chen
2012-06-20 5:28 ` Zumeng Chen
2012-06-14 6:44 ` Igor Grinberg
2012-06-14 6:44 ` Igor Grinberg
2012-06-14 7:08 ` Zumeng Chen
2012-06-14 7:08 ` Zumeng Chen
2012-06-14 8:06 ` Igor Grinberg
2012-06-14 8:06 ` Igor Grinberg
2012-06-14 8:18 ` Zumeng Chen
2012-06-14 8:18 ` Zumeng Chen
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=4FD6F596.6050905@compulab.co.il \
--to=grinberg@compulab.co.il \
--cc=ajay.gupta@ti.com \
--cc=dmitry.torokhov@gmail.com \
--cc=hvaibhav@ti.com \
--cc=khasim@ti.com \
--cc=khilman@ti.com \
--cc=linux-arm-kernel@lists.infradead.org \
--cc=linux-input@vger.kernel.org \
--cc=linux-omap@vger.kernel.org \
--cc=tony@atomide.com \
--cc=zumeng.chen@gmail.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.