Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1753260AbbFAL7U (ORCPT ); Mon, 1 Jun 2015 07:59:20 -0400 Received: from mail-pa0-f45.google.com ([209.85.220.45]:35222 "EHLO mail-pa0-f45.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1752704AbbFAL7P (ORCPT ); Mon, 1 Jun 2015 07:59:15 -0400 From: Baolin Wang To: tglx@linutronix.de Cc: arnd@arndb.de, john.stultz@linaro.org, heenasirwani@gmail.com, pang.xunlei@linaro.org, peterz@infradead.org, rafael.j.wysocki@intel.com, linux-kernel@vger.kernel.org, baolin.wang@linaro.org, y2038@lists.linaro.org Subject: [PATCH v4 17/25] timekeeping:Introduce the timekeeping_clocktai() function with timespec64 type Date: Mon, 1 Jun 2015 19:58:55 +0800 Message-Id: <1433159935-5178-1-git-send-email-baolin.wang@linaro.org> X-Mailer: git-send-email 1.7.9.5 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 3069 Lines: 82 This patch converts the timespec type to timespec64 type for timekeeping_clocktai() function which is used only in the posix-timers.c file, that makes it ready for 2038 issue. And remove the declaration of timekeeping_clocktai() in kernel/time/timekeeping.h file, cause nothing uses that declaration now, and it would conflict with the inline definition in the include/linux/timekeeping.h file. Also introduce the clock_get64 callback pointer for the k_clock structure, and convert the timespec type to timespec64 type for the posix_get_tai() function. Next patch will convert all the timespec/itimerspec to the timespec64/itimerspec64 type for other callbacks of the k_clock structure in the kernel/time/posix-timers.c file. Signed-off-by: Baolin Wang --- include/linux/timekeeping.h | 4 ++-- kernel/time/posix-timers.c | 4 ++-- kernel/time/timekeeping.h | 1 - 3 files changed, 4 insertions(+), 5 deletions(-) diff --git a/include/linux/timekeeping.h b/include/linux/timekeeping.h index 89beb62..c3345d5 100644 --- a/include/linux/timekeeping.h +++ b/include/linux/timekeeping.h @@ -250,9 +250,9 @@ static inline void get_monotonic_boottime64(struct timespec64 *ts) *ts = ktime_to_timespec64(ktime_get_boottime()); } -static inline void timekeeping_clocktai(struct timespec *ts) +static inline void timekeeping_clocktai(struct timespec64 *ts) { - *ts = ktime_to_timespec(ktime_get_clocktai()); + *ts = ktime_to_timespec64(ktime_get_clocktai()); } /* diff --git a/kernel/time/posix-timers.c b/kernel/time/posix-timers.c index d2975d9..04d5512 100644 --- a/kernel/time/posix-timers.c +++ b/kernel/time/posix-timers.c @@ -296,7 +296,7 @@ static int posix_get_boottime(const clockid_t which_clock, struct timespec *tp) return 0; } -static int posix_get_tai(clockid_t which_clock, struct timespec *tp) +static int posix_get_tai(clockid_t which_clock, struct timespec64 *tp) { timekeeping_clocktai(tp); return 0; @@ -343,7 +343,7 @@ static __init int init_posix_timers(void) }; struct k_clock clock_tai = { .clock_getres = hrtimer_get_res, - .clock_get = posix_get_tai, + .clock_get64 = posix_get_tai, .nsleep = common_nsleep, .nsleep_restart = hrtimer_nanosleep_restart, .timer_create = common_timer_create, diff --git a/kernel/time/timekeeping.h b/kernel/time/timekeeping.h index 1d91416..04c7943 100644 --- a/kernel/time/timekeeping.h +++ b/kernel/time/timekeeping.h @@ -15,7 +15,6 @@ extern u64 timekeeping_max_deferment(void); extern int timekeeping_inject_offset(struct timespec *ts); extern s32 timekeeping_get_tai_offset(void); extern void timekeeping_set_tai_offset(s32 tai_offset); -extern void timekeeping_clocktai(struct timespec *ts); extern int timekeeping_suspend(void); extern void timekeeping_resume(void); -- 1.7.9.5 -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/