diff options
author | Arve Hjønnevåg <arve@android.com> | 2008-10-17 15:28:08 -0700 |
---|---|---|
committer | Denis 'GNUtoo' Carikli <GNUtoo@no-log.org> | 2013-03-18 22:51:54 +0100 |
commit | d6ed86683c92fc2dd96a014b9f0721f085caae8a (patch) | |
tree | bdcb7d1053db17abb9deca5080c7d07fd035cc2e | |
parent | 2e91e63414c8e60c042eb2b726a334352ef562e3 (diff) | |
download | kernel_goldelico_gta04-d6ed86683c92fc2dd96a014b9f0721f085caae8a.zip kernel_goldelico_gta04-d6ed86683c92fc2dd96a014b9f0721f085caae8a.tar.gz kernel_goldelico_gta04-d6ed86683c92fc2dd96a014b9f0721f085caae8a.tar.bz2 |
Input: Use monotonic time for event time stamps.
Since wall time can jump backwards, it cannot be used to determine if one
event occured before another or for how long a key was pressed.
Signed-off-by: Arve Hjønnevåg <arve@android.com>
Signed-off-by: Pankaj <pankaj.bharadiya@ti.com>
Signed-off-by: Denis 'GNUtoo' Carikli <GNUtoo@no-log.org>
-rw-r--r-- | drivers/input/evdev.c | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/drivers/input/evdev.c b/drivers/input/evdev.c index 23425d7..5f2dcdb 100644 --- a/drivers/input/evdev.c +++ b/drivers/input/evdev.c @@ -94,10 +94,12 @@ static void evdev_pass_values(struct evdev_client *client, struct evdev *evdev = client->evdev; const struct input_value *v; struct input_event event; + struct timespec ts; bool wakeup = false; - event.time = ktime_to_timeval(client->clkid == CLOCK_MONOTONIC ? - mono : real); + ktime_get_ts(&ts); + event.time.tv_sec = ts.tv_sec; + event.time.tv_usec = ts.tv_nsec / NSEC_PER_USEC; /* Interrupts are disabled, just acquire the lock. */ spin_lock(&client->buffer_lock); |