X-Git-Url: http://review.tizen.org/git/?a=blobdiff_plain;f=kernel%2Ftime%2Ftimekeeping.c;h=8a842756572d48545e1ea062d336cd0decce5e85;hb=1ff3c9677bff7e468e0c487d0ffefe4e901d33f4;hp=937098aab49877b670409f49eb869fec9e20cfd1;hpb=cc244ddae6d4c6902ac9d7d64023534f8c44a7eb;p=platform%2Fadaptation%2Frenesas_rcar%2Frenesas_kernel.git diff --git a/kernel/time/timekeeping.c b/kernel/time/timekeeping.c index 937098a..8a84275 100644 --- a/kernel/time/timekeeping.c +++ b/kernel/time/timekeeping.c @@ -379,6 +379,36 @@ void ktime_get_ts(struct timespec *ts) } EXPORT_SYMBOL_GPL(ktime_get_ts); + +/** + * timekeeping_clocktai - Returns the TAI time of day in a timespec + * @ts: pointer to the timespec to be set + * + * Returns the time of day in a timespec. + */ +void timekeeping_clocktai(struct timespec *ts) +{ + struct timekeeper *tk = &timekeeper; + unsigned long seq; + u64 nsecs; + + WARN_ON(timekeeping_suspended); + + do { + seq = read_seqbegin(&tk->lock); + + ts->tv_sec = tk->xtime_sec + tk->tai_offset; + nsecs = timekeeping_get_ns(tk); + + } while (read_seqretry(&tk->lock, seq)); + + ts->tv_nsec = 0; + timespec_add_ns(ts, nsecs); + +} +EXPORT_SYMBOL(timekeeping_clocktai); + + #ifdef CONFIG_NTP_PPS /**