From: Trilok Soni <soni.trilok@gmail.com>
To: Eric Miao <eric.y.miao@gmail.com>
Cc: Marek Vasut <marek.vasut@gmail.com>,
Dmitry Torokhov <dmitry.torokhov@gmail.com>,
"linux-input@vger.kernel.org" <linux-input@vger.kernel.org>,
linux-arm-kernel <linux-arm-kernel@lists.arm.linux.org.uk>
Subject: Re: [PATCH] input: add support for generic GPIO-based matrix keypad
Date: Fri, 8 May 2009 10:24:51 +0530 [thread overview]
Message-ID: <5d5443650905072154k6434e1a3n8fe91c4cadcaab32@mail.gmail.com> (raw)
In-Reply-To: <f17812d70905071829j758ee376gbf5564881f186937@mail.gmail.com>
Hi Eric,
On Fri, May 8, 2009 at 6:59 AM, Eric Miao <eric.y.miao@gmail.com> wrote:
> On Thu, May 7, 2009 at 4:51 PM, Trilok Soni <soni.trilok@gmail.com> wrote:
>> Hi Eric,
>>
>> On Thu, May 7, 2009 at 2:18 PM, Eric Miao <eric.y.miao@gmail.com> wrote:
>>> On Thu, May 7, 2009 at 4:41 PM, Trilok Soni <soni.trilok@gmail.com> wrote:
>>>> Hi Eric,
>>>>
>>>> On Thu, May 7, 2009 at 1:30 PM, Eric Miao <eric.y.miao@gmail.com> wrote:
>>>>> Original patch by Marek Vasut, modified by Eric in:
>>>>>
>>>>> 1. use delayed work to simplify the debouncing
>>>>> 2. build keycode array for fast lookup
>>>>> 3. combine col_polarity/row_polarity into a single active_low field
>>>>> (are there some cases where the GPIOs are externally connected
>>>>> with an inverter and thus causing two different polarity requirement??)
>>>>> 4. use a generic bit array based XOR algorithm to detect key press/release,
>>>>> which should make the column assertion time shorter and code a bit
>>>>> cleaner
>>>>> 5. remove the ALT_FN handling, which is no way generic, the ALT_FN
>>>>> key should be treated as no different from other keys, and translation
>>>>> will be done by user space by commands like 'loadkeys'.
>>>>>
>>>>> Patch tested on Littleton/PXA310 (though PXA310 has a dedicate keypad
>>>>> controller, I have to configure those pins as generic GPIO to use this
>>>>> driver, works quite well, though ;-)
>>>>
>>>> Any support about removing/clearing ghost/phantom keys? Also we assume
>>>> that all gpios in the matrix should be able to generate interrupts so
>>>> no polldev support required.
>>>>
>>>
>>> Is there some info about such ghost/phantom keys? Otherwise I'll
>>> assume these are something like sticky control keys?
>>>
>>> I'm not sure if there're any such support in console tools and in
>>> input subsystem. Hard to say...
>>>
>>> And the comments below are of great value, I'll incorporate these
>>> suggestions in later submission. Thanks very much.
>>>
>>
>> Could you please have look at following gpio_matrix driver?
>>
>> gpio_matrix.c:
>> http://android.git.kernel.org/?p=kernel/msm.git;a=blob;f=drivers/input/misc/gpio_matrix.c;h=c1f47651a4937d5c976a9625ca5da389dd7e4a7c;hb=HEAD
>>
>> gpio_input.c:
>> http://android.git.kernel.org/?p=kernel/msm.git;a=blob;f=drivers/input/misc/gpio_input.c;h=7e307f267a2a059b64a3fb9c8a379b149016b2f8;hb=HEAD
>>
>
> Mmm... looks not so generic, though. And I still have no idea
> about how its phantom key works unless I see its hw.
>
Right, it could be based on what multi-keys people are interested in
and how it has been placed on the matrix during h/w design time. So,
it highly depends on the h/w design. We don't need to put this support
right now. Above links were just for information purpose only, we can
add such support in future.
--
---Trilok Soni
http://triloksoni.wordpress.com
http://www.linkedin.com/in/triloksoni
next prev parent reply other threads:[~2009-05-08 4:54 UTC|newest]
Thread overview: 46+ messages / expand[flat|nested] mbox.gz Atom feed top
2009-05-07 8:00 [PATCH] input: add support for generic GPIO-based matrix keypad Eric Miao
2009-05-07 8:41 ` Trilok Soni
2009-05-07 8:48 ` Eric Miao
2009-05-07 8:51 ` Trilok Soni
2009-05-08 1:29 ` Eric Miao
2009-05-08 4:54 ` Trilok Soni [this message]
2009-05-08 5:52 ` Arve Hjønnevåg
2009-05-25 3:36 ` Trilok Soni
2009-05-25 7:05 ` Eric Miao
2009-05-27 13:26 ` Uli Luckas
2009-05-31 14:12 ` Eric Miao
2009-05-31 14:20 ` Russell King - ARM Linux
2009-05-31 14:29 ` Eric Miao
2009-05-31 17:38 ` Dmitry Torokhov
2009-06-01 3:43 ` Eric Miao
2009-05-31 17:39 ` Robert Jarzmik
2009-06-01 4:02 ` Eric Miao
2009-06-02 14:55 ` Uli Luckas
2009-06-02 15:14 ` Uli Luckas
2009-06-03 6:24 ` Eric Miao
2009-06-10 4:10 ` Trilok Soni
2009-07-04 5:54 ` Marek Vasut
2009-07-06 6:02 ` Eric Miao
2009-07-06 10:58 ` Marek Vasut
[not found] ` <f17812d70906070704s10f8eac6ybc353041e2db5a03@mail.gmail.com>
2009-06-12 4:03 ` Dmitry Torokhov
2009-06-12 13:01 ` Trilok Soni
2009-06-12 13:26 ` Eric Miao
2009-06-19 6:54 ` Trilok Soni
2009-06-29 16:26 ` Dmitry Torokhov
2009-06-30 6:43 ` Trilok Soni
2009-07-01 12:14 ` Kim Kyuwon
2009-07-09 9:46 ` Eric Miao
2009-07-09 10:01 ` Trilok Soni
2009-07-17 7:51 ` Paulius Zaleckas
2009-07-17 8:32 ` Trilok Soni
2009-07-17 9:20 ` Paulius Zaleckas
2009-07-20 7:12 ` Trilok Soni
2009-07-20 10:37 ` Eric Miao
2009-07-20 10:43 ` Trilok Soni
2009-07-20 11:43 ` Eric Miao
2009-07-21 8:00 ` Dmitry Torokhov
2009-07-21 8:26 ` Eric Miao
2009-07-21 15:58 ` Dmitry Torokhov
2009-07-27 8:54 ` Eric Miao
2009-06-03 6:06 ` Eric Miao
2009-06-03 18:06 ` Trilok Soni
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=5d5443650905072154k6434e1a3n8fe91c4cadcaab32@mail.gmail.com \
--to=soni.trilok@gmail.com \
--cc=dmitry.torokhov@gmail.com \
--cc=eric.y.miao@gmail.com \
--cc=linux-arm-kernel@lists.arm.linux.org.uk \
--cc=linux-input@vger.kernel.org \
--cc=marek.vasut@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 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).