aboutsummaryrefslogtreecommitdiffstats
path: root/kernel
diff options
context:
space:
mode:
authorJohn Stultz <john.stultz@linaro.org>2012-02-03 00:19:07 -0800
committerSimon Shields <keepcalm444@gmail.com>2016-03-16 22:34:14 +1100
commitf0f6cbaf4d48a251a2a37078f82ae96c4f6079fe (patch)
tree39b2b8eec5a65e3564f364c471ed11318c3cd288 /kernel
parentfd54af341177a37606ee3179c6e79c83868fe61c (diff)
downloadkernel_samsung_smdk4412-f0f6cbaf4d48a251a2a37078f82ae96c4f6079fe.zip
kernel_samsung_smdk4412-f0f6cbaf4d48a251a2a37078f82ae96c4f6079fe.tar.gz
kernel_samsung_smdk4412-f0f6cbaf4d48a251a2a37078f82ae96c4f6079fe.tar.bz2
Input: add infrastructure for selecting clockid for event time stamps
As noted by Arve and others, since wall time can jump backwards, it is difficult to use for input because one cannot determine if one event occurred before another or for how long a key was pressed. However, the timestamp field is part of the kernel ABI, and cannot be changed without possibly breaking existing users. This patch adds a new IOCTL that allows a clockid to be set in the evdev_client struct that will specify which time base to use for event timestamps (ie: CLOCK_MONOTONIC instead of CLOCK_REALTIME). For now we only support CLOCK_MONOTONIC and CLOCK_REALTIME, but in the future we could support other clockids if appropriate. The default remains CLOCK_REALTIME, so we don't change the ABI. Signed-off-by: John Stultz <john.stultz@linaro.org> Reviewed-by: Daniel Kurtz <djkurtz@google.com> Signed-off-by: Dmitry Torokhov <dtor@mail.ru> Conflicts: include/linux/input.h Change-Id: I7b9b442dcd7930a1e72c688327e6fb7275107128
Diffstat (limited to 'kernel')
-rw-r--r--kernel/time/timekeeping.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/kernel/time/timekeeping.c b/kernel/time/timekeeping.c
index 7aa8c3d..91e88d2 100644
--- a/kernel/time/timekeeping.c
+++ b/kernel/time/timekeeping.c
@@ -1214,6 +1214,8 @@ ktime_t ktime_get_monotonic_offset(void)
} while (read_seqretry(&xtime_lock, seq));
return timespec_to_ktime(wtom);
}
+EXPORT_SYMBOL_GPL(ktime_get_monotonic_offset);
+
/**
* xtime_update() - advances the timekeeping infrastructure