Gitweb:     
http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=76cb44e1a853f9c438ccf62eb5006f089430da72
Commit:     76cb44e1a853f9c438ccf62eb5006f089430da72
Parent:     9c60debd2a666dc0e8466dee556af30ea68e97d2
Author:     Eric Miao <[EMAIL PROTECTED]>
AuthorDate: Thu Jan 31 00:59:23 2008 -0500
Committer:  Dmitry Torokhov <[EMAIL PROTECTED]>
CommitDate: Thu Jan 31 00:59:23 2008 -0500

    Input: pxa27x_keypad - add debounce_interval to the keypad platform data
    
    Currently, only one debounce_interval is introduced for both direct and
    matrix keys. This is true in most cases, although the keypad controller
    supports different debounce for direct/matrix keys.
    
    Some platforms do require this to be tuned, instead of the default
    reset value of 100ms.
    
    Rotary encoder will always use zero debounce time for now to achieve
    certain sensitivity.
    
    Signed-off-by: Eric Miao <[EMAIL PROTECTED]>
    Signed-off-by: Dmitry Torokhov <[EMAIL PROTECTED]>
---
 drivers/input/keyboard/pxa27x_keypad.c   |    1 +
 include/asm-arm/arch-pxa/pxa27x_keypad.h |    6 ++++++
 2 files changed, 7 insertions(+), 0 deletions(-)

diff --git a/drivers/input/keyboard/pxa27x_keypad.c 
b/drivers/input/keyboard/pxa27x_keypad.c
index ceaf1e0..6224c2f 100644
--- a/drivers/input/keyboard/pxa27x_keypad.c
+++ b/drivers/input/keyboard/pxa27x_keypad.c
@@ -357,6 +357,7 @@ static void pxa27x_keypad_config(struct pxa27x_keypad 
*keypad)
 
        keypad_writel(KPC, kpc | KPC_RE_ZERO_DEB);
        keypad_writel(KPREC, DEFAULT_KPREC);
+       keypad_writel(KPKDI, pdata->debounce_interval);
 }
 
 static int pxa27x_keypad_open(struct input_dev *dev)
diff --git a/include/asm-arm/arch-pxa/pxa27x_keypad.h 
b/include/asm-arm/arch-pxa/pxa27x_keypad.h
index 6b83232..644f760 100644
--- a/include/asm-arm/arch-pxa/pxa27x_keypad.h
+++ b/include/asm-arm/arch-pxa/pxa27x_keypad.h
@@ -19,6 +19,9 @@
  *
  * 3. rotary can be either interpreted as a relative input event (e.g.
  *    REL_WHEEL/REL_HWHEEL) or specific keys (e.g. UP/DOWN/LEFT/RIGHT)
+ *
+ * 4. matrix key and direct key will use the same debounce_interval by
+ *    default, which should be sufficient in most cases
  */
 struct pxa27x_keypad_platform_data {
 
@@ -43,6 +46,9 @@ struct pxa27x_keypad_platform_data {
        int             rotary1_rel_code;
        int             rotary1_up_key;
        int             rotary1_down_key;
+
+       /* key debounce interval */
+       unsigned int    debounce_interval;
 };
 
 #define KEY(row, col, val)     (((row) << 28) | ((col) << 24) | (val))
-
To unsubscribe from this list: send the line "unsubscribe git-commits-head" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to