diff options
author | Jeff Brown <jeffbrown@google.com> | 2011-12-13 01:19:51 +0800 |
---|---|---|
committer | Andy Green <andy.green@linaro.org> | 2012-01-09 10:46:33 +0800 |
commit | 77b0543b3fe5c377ec42c5e95c0a26697abbfa87 (patch) | |
tree | 5ee34a1130b6cc9d910d4fe313771c5ac7d361e3 /drivers/input/misc | |
parent | bfaadcbebfe68e06e47371168d3adb213979b43f (diff) |
input: gpio_matrix: send input_sync after reporting keys
Signed-off-by: jeffbrown@android.com
Change-Id: I9bd2437503b48bf37f4d93505ccd2806e4aab977
Diffstat (limited to 'drivers/input/misc')
-rw-r--r-- | drivers/input/misc/gpio_matrix.c | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/drivers/input/misc/gpio_matrix.c b/drivers/input/misc/gpio_matrix.c index 5679f523603..eaa9e89d473 100644 --- a/drivers/input/misc/gpio_matrix.c +++ b/drivers/input/misc/gpio_matrix.c @@ -130,6 +130,14 @@ static void report_key(struct gpio_kp *kp, int key_index, int out, int in) } } +static void report_sync(struct gpio_kp *kp) +{ + int i; + + for (i = 0; i < kp->input_devs->count; i++) + input_sync(kp->input_devs->dev[i]); +} + static enum hrtimer_restart gpio_keypad_timer_func(struct hrtimer *timer) { int out, in; @@ -191,6 +199,7 @@ static enum hrtimer_restart gpio_keypad_timer_func(struct hrtimer *timer) for (out = 0; out < mi->noutputs; out++) for (in = 0; in < mi->ninputs; in++, key_index++) report_key(kp, key_index, out, in); + report_sync(kp); } if (!kp->use_irq || kp->some_keys_pressed) { hrtimer_start(timer, mi->poll_time, HRTIMER_MODE_REL); |