Messages in this thread | | | Date | Fri, 2 Mar 2012 10:54:02 +0530 | From | Laxman Dewangan <> | Subject | Re: [PATCH V1] input: keyboard: Add interrupt keyboard driver. |
| |
On Thursday 26 January 2012 07:41 AM, Laxman Dewangan wrote: > On Thursday 19 January 2012 01:09 PM, Laxman Dewangan wrote: >> On Thursday, January 19, 2012 1:00 PM, Dmitry Torokhov wrote: >> >> > Hi Dmitry, > Do you have any further comment on above approach? Here is little bit > background which can help on understanding. > I am working on some MFD devices and to tried to support the onkey from > single driver to avoid having driver for each mfd-pmic driver. > > When developing this driver, I though of following behaviors of the pmic > device for power-btn/onkey switches: > 1. Separate Interrupt for press and release: (Falling and rising > interrupt, no level interrupt) So two different interrupt will get > registered and based on interrupt number the key code and key value will > get reported to input system. Device like AB8500 (ab8500-ponkey.c). > > 2. Generates interrupt for only key press, no interrupt for the key > release (only one interrupt i.e. Falling edge) In this case, it need to > send the release event automatically after sending press event. So > whenever there is falling edge on keys, the interrupt get generated, No > interrupt on pressed level. Devices like ricoh583, max77663. > > 3. Keep generating interrupt if key is pressed but no interrupt after > release (Kind on level (low) interrupt and so multiple interrupts till > key pressed.) Devices like tps65910.. > In this case, the device generates level interrupt and if it acked, > again generates interrupt. So if we send the key press/release together > without waiting, we will endup with sending the key event multiple time. > To avoid this I used the debaince logic as follows: > detect first interrupt, send press event and start timer and wait for > timer to expire for sending release events. If interrupt again occurs > before timer expires, restart timer again. Keep doing this until user > release the key. Once he release the key, there will be no interrupt and > so timer will be expire after some time i.e. debounce time and then > report key released. > >
Hi Dmitry, Can you please review the above approach? If you still want to do in gpio-keys then I will make new patch and will send but wanted to know your opinion about my proposals. Idea is to get support only interrupt keys.
Thanks, Laxman
| |