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>
This commit is contained in:
Родитель
166afb6451
Коммит
b17b20d70d
|
@ -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: */
|
||||
|
|
Загрузка…
Ссылка в новой задаче