linux-input.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH 6/12] pxa: add debounce_interval configuration to the keypad platform data
@ 2008-01-23  7:28 eric miao
  0 siblings, 0 replies; only message in thread
From: eric miao @ 2008-01-23  7:28 UTC (permalink / raw)
  To: linux-input; +Cc: Dmitry Torokhov

>From 0a2922e52d091f46dafb22aca227dbf3b573153f Mon Sep 17 00:00:00 2001
From: eric miao <eric.miao@marvell.com>
Date: Wed, 23 Jan 2008 13:26:57 +0800
Subject: [PATCH] pxa: add debounce_interval configuration 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 <eric.miao@marvell.com>
---
 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))
-- 
1.5.2.5.GIT



-- 
Cheers
- eric

^ permalink raw reply related	[flat|nested] only message in thread

only message in thread, other threads:[~2008-01-23  7:28 UTC | newest]

Thread overview: (only message) (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2008-01-23  7:28 [PATCH 6/12] pxa: add debounce_interval configuration to the keypad platform data eric miao

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).