compat: Use COMPAT_USE_64BIT_TIME in the input subsystem
authorH. J. Lu <hjl.tools@gmail.com>
Fri, 10 Feb 2012 22:10:52 +0000 (14:10 -0800)
committerH. Peter Anvin <hpa@zytor.com>
Mon, 20 Feb 2012 20:48:47 +0000 (12:48 -0800)
Enable the input system to be used with a compat ABI with 64-bit time.

Signed-off-by: H. Peter Anvin <hpa@zytor.com>
Cc: Dmitry Torokhov <dmitry.torokhov@gmail.com>
drivers/input/input-compat.c
drivers/input/input-compat.h

index e46a867..64ca711 100644 (file)
@@ -17,7 +17,7 @@
 int input_event_from_user(const char __user *buffer,
                          struct input_event *event)
 {
-       if (INPUT_COMPAT_TEST) {
+       if (INPUT_COMPAT_TEST && !COMPAT_USE_64BIT_TIME) {
                struct input_event_compat compat_event;
 
                if (copy_from_user(&compat_event, buffer,
@@ -41,7 +41,7 @@ int input_event_from_user(const char __user *buffer,
 int input_event_to_user(char __user *buffer,
                        const struct input_event *event)
 {
-       if (INPUT_COMPAT_TEST) {
+       if (INPUT_COMPAT_TEST && !COMPAT_USE_64BIT_TIME) {
                struct input_event_compat compat_event;
 
                compat_event.time.tv_sec = event->time.tv_sec;
index 22be27b..148f66f 100644 (file)
@@ -67,7 +67,7 @@ struct ff_effect_compat {
 
 static inline size_t input_event_size(void)
 {
-       return INPUT_COMPAT_TEST ?
+       return (INPUT_COMPAT_TEST && !COMPAT_USE_64BIT_TIME) ?
                sizeof(struct input_event_compat) : sizeof(struct input_event);
 }