From 353fdf17060b15d1d857899cd3ed9d5db4818acf Mon Sep 17 00:00:00 2001 From: Tapasweni Pathak Date: Sun, 26 Oct 2014 19:20:16 +0530 Subject: [PATCH] staging: android: Replace timeval with timespec64 'timeval' is used to print timestamps in seconds and millisecond. 32-bit systems using 'struct timeval' will break in the year 2038, So we have to replace that code with more appropriate types. This patch changes the android driver to use timespec64. Since this is a staging driver and the output is only used for a debugfs file, it is fine to slightly change the output and use nanoseconds instead. ktime_to_timespec64, is used which will return seconds and nanoseconds. Signed-off-by: Tapasweni Pathak Reviewed-by: Arnd Bergmann Signed-off-by: Greg Kroah-Hartman --- drivers/staging/android/sync_debug.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/drivers/staging/android/sync_debug.c b/drivers/staging/android/sync_debug.c index 257fc91..1532a86 100644 --- a/drivers/staging/android/sync_debug.c +++ b/drivers/staging/android/sync_debug.c @@ -25,6 +25,7 @@ #include #include #include +#include #include "sync.h" #ifdef CONFIG_DEBUG_FS @@ -95,9 +96,9 @@ static void sync_print_pt(struct seq_file *s, struct sync_pt *pt, bool fence) sync_status_str(status)); if (status <= 0) { - struct timeval tv = ktime_to_timeval(pt->base.timestamp); + struct timespec64 ts64 = ktime_to_timespec64(pt->base.timestamp); - seq_printf(s, "@%ld.%06ld", tv.tv_sec, tv.tv_usec); + seq_printf(s, "@%lld.%09ld", (s64)ts64.tv_sec, ts64.tv_nsec); } if (parent->ops->timeline_value_str && -- 2.7.4