aboutsummaryrefslogtreecommitdiffstats
path: root/include/linux/ktime.h
diff options
context:
space:
mode:
authorJohn Stultz <john.stultz@linaro.org>2014-07-16 21:03:56 +0000
committerJohn Stultz <john.stultz@linaro.org>2014-07-23 10:16:50 -0700
commitb17b20d70dcbe48dd1aa6aba073a60ddfce5d7db (patch)
tree6df427dd2be7ec76727016cb83214cd2338f9736 /include/linux/ktime.h
parentktime: Sanitize ktime_to_us/ms conversion (diff)
downloadlinux-dev-b17b20d70dcbe48dd1aa6aba073a60ddfce5d7db.tar.xz
linux-dev-b17b20d70dcbe48dd1aa6aba073a60ddfce5d7db.zip
ktime: Change ktime_set() to take 64bit seconds value
In order to support dates past 2038 on 32bit systems, ktime_set() needs to handle 64bit second values. [ tglx: Removed the BITS_PER_LONG check ] Signed-off-by: John Stultz <john.stultz@linaro.org> Signed-off-by: Thomas Gleixner <tglx@linutronix.de> Signed-off-by: John Stultz <john.stultz@linaro.org>
Diffstat (limited to 'include/linux/ktime.h')
-rw-r--r--include/linux/ktime.h7
1 files changed, 3 insertions, 4 deletions
diff --git a/include/linux/ktime.h b/include/linux/ktime.h
index 74eaba9b3569..538c283714e1 100644
--- a/include/linux/ktime.h
+++ b/include/linux/ktime.h
@@ -47,13 +47,12 @@ typedef union ktime ktime_t; /* Kill this */
*
* Return: The ktime_t representation of the value.
*/
-static inline ktime_t ktime_set(const long secs, const unsigned long nsecs)
+static inline ktime_t ktime_set(const s64 secs, const unsigned long nsecs)
{
-#if (BITS_PER_LONG == 64)
if (unlikely(secs >= KTIME_SEC_MAX))
return (ktime_t){ .tv64 = KTIME_MAX };
-#endif
- return (ktime_t) { .tv64 = (s64)secs * NSEC_PER_SEC + (s64)nsecs };
+
+ return (ktime_t) { .tv64 = secs * NSEC_PER_SEC + (s64)nsecs };
}
/* Subtract two ktime_t variables. rem = lhs -rhs: */