OSDN Git Service

timekeeping: remove timespec_add/timespec_del
authorArnd Bergmann <arnd@arndb.de>
Fri, 7 Dec 2018 12:41:02 +0000 (13:41 +0100)
committerArnd Bergmann <arnd@arndb.de>
Tue, 18 Dec 2018 15:13:05 +0000 (16:13 +0100)
The last users were removed a while ago since everyone moved to ktime_t,
so we can remove the two unused interfaces for old timespec structures.

With those two gone, set_normalized_timespec() is also unused, so
remove that as well.

Signed-off-by: Arnd Bergmann <arnd@arndb.de>
Acked-by: John Stultz <john.stultz@linaro.org>
include/linux/time32.h
kernel/time/time.c

index 61904a6..118b997 100644 (file)
@@ -96,31 +96,6 @@ static inline int timespec_compare(const struct timespec *lhs, const struct time
        return lhs->tv_nsec - rhs->tv_nsec;
 }
 
-extern void set_normalized_timespec(struct timespec *ts, time_t sec, s64 nsec);
-
-static inline struct timespec timespec_add(struct timespec lhs,
-                                               struct timespec rhs)
-{
-       struct timespec ts_delta;
-
-       set_normalized_timespec(&ts_delta, lhs.tv_sec + rhs.tv_sec,
-                               lhs.tv_nsec + rhs.tv_nsec);
-       return ts_delta;
-}
-
-/*
- * sub = lhs - rhs, in normalized form
- */
-static inline struct timespec timespec_sub(struct timespec lhs,
-                                               struct timespec rhs)
-{
-       struct timespec ts_delta;
-
-       set_normalized_timespec(&ts_delta, lhs.tv_sec - rhs.tv_sec,
-                               lhs.tv_nsec - rhs.tv_nsec);
-       return ts_delta;
-}
-
 /*
  * Returns true if the timespec is norm, false if denorm:
  */
index ad204cf..532bb56 100644 (file)
@@ -387,42 +387,6 @@ time64_t mktime64(const unsigned int year0, const unsigned int mon0,
 EXPORT_SYMBOL(mktime64);
 
 /**
- * set_normalized_timespec - set timespec sec and nsec parts and normalize
- *
- * @ts:                pointer to timespec variable to be set
- * @sec:       seconds to set
- * @nsec:      nanoseconds to set
- *
- * Set seconds and nanoseconds field of a timespec variable and
- * normalize to the timespec storage format
- *
- * Note: The tv_nsec part is always in the range of
- *     0 <= tv_nsec < NSEC_PER_SEC
- * For negative values only the tv_sec field is negative !
- */
-void set_normalized_timespec(struct timespec *ts, time_t sec, s64 nsec)
-{
-       while (nsec >= NSEC_PER_SEC) {
-               /*
-                * The following asm() prevents the compiler from
-                * optimising this loop into a modulo operation. See
-                * also __iter_div_u64_rem() in include/linux/time.h
-                */
-               asm("" : "+rm"(nsec));
-               nsec -= NSEC_PER_SEC;
-               ++sec;
-       }
-       while (nsec < 0) {
-               asm("" : "+rm"(nsec));
-               nsec += NSEC_PER_SEC;
-               --sec;
-       }
-       ts->tv_sec = sec;
-       ts->tv_nsec = nsec;
-}
-EXPORT_SYMBOL(set_normalized_timespec);
-
-/**
  * ns_to_timespec - Convert nanoseconds to timespec
  * @nsec:       the nanoseconds value to be converted
  *