diff options
Diffstat (limited to 'kernel/hrtimer.c')
| -rw-r--r-- | kernel/hrtimer.c | 26 |
1 files changed, 23 insertions, 3 deletions
diff --git a/kernel/hrtimer.c b/kernel/hrtimer.c index 01483004183d..a0222097c57e 100644 --- a/kernel/hrtimer.c +++ b/kernel/hrtimer.c | |||
| @@ -945,9 +945,10 @@ remove_hrtimer(struct hrtimer *timer, struct hrtimer_clock_base *base) | |||
| 945 | } | 945 | } |
| 946 | 946 | ||
| 947 | /** | 947 | /** |
| 948 | * hrtimer_start - (re)start an relative timer on the current CPU | 948 | * hrtimer_start_range_ns - (re)start an relative timer on the current CPU |
| 949 | * @timer: the timer to be added | 949 | * @timer: the timer to be added |
| 950 | * @tim: expiry time | 950 | * @tim: expiry time |
| 951 | * @delta_ns: "slack" range for the timer | ||
| 951 | * @mode: expiry mode: absolute (HRTIMER_ABS) or relative (HRTIMER_REL) | 952 | * @mode: expiry mode: absolute (HRTIMER_ABS) or relative (HRTIMER_REL) |
| 952 | * | 953 | * |
| 953 | * Returns: | 954 | * Returns: |
| @@ -955,7 +956,8 @@ remove_hrtimer(struct hrtimer *timer, struct hrtimer_clock_base *base) | |||
| 955 | * 1 when the timer was active | 956 | * 1 when the timer was active |
| 956 | */ | 957 | */ |
| 957 | int | 958 | int |
| 958 | hrtimer_start(struct hrtimer *timer, ktime_t tim, const enum hrtimer_mode mode) | 959 | hrtimer_start_range_ns(struct hrtimer *timer, ktime_t tim, unsigned long delta_ns, |
| 960 | const enum hrtimer_mode mode) | ||
| 959 | { | 961 | { |
| 960 | struct hrtimer_clock_base *base, *new_base; | 962 | struct hrtimer_clock_base *base, *new_base; |
| 961 | unsigned long flags; | 963 | unsigned long flags; |
| @@ -983,7 +985,7 @@ hrtimer_start(struct hrtimer *timer, ktime_t tim, const enum hrtimer_mode mode) | |||
| 983 | #endif | 985 | #endif |
| 984 | } | 986 | } |
| 985 | 987 | ||
| 986 | hrtimer_set_expires(timer, tim); | 988 | hrtimer_set_expires_range_ns(timer, tim, delta_ns); |
| 987 | 989 | ||
| 988 | timer_stats_hrtimer_set_start_info(timer); | 990 | timer_stats_hrtimer_set_start_info(timer); |
| 989 | 991 | ||
| @@ -1016,8 +1018,26 @@ hrtimer_start(struct hrtimer *timer, ktime_t tim, const enum hrtimer_mode mode) | |||
| 1016 | 1018 | ||
| 1017 | return ret; | 1019 | return ret; |
| 1018 | } | 1020 | } |
| 1021 | EXPORT_SYMBOL_GPL(hrtimer_start_range_ns); | ||
| 1022 | |||
| 1023 | /** | ||
| 1024 | * hrtimer_start - (re)start an relative timer on the current CPU | ||
| 1025 | * @timer: the timer to be added | ||
| 1026 | * @tim: expiry time | ||
| 1027 | * @mode: expiry mode: absolute (HRTIMER_ABS) or relative (HRTIMER_REL) | ||
| 1028 | * | ||
| 1029 | * Returns: | ||
| 1030 | * 0 on success | ||
| 1031 | * 1 when the timer was active | ||
| 1032 | */ | ||
| 1033 | int | ||
| 1034 | hrtimer_start(struct hrtimer *timer, ktime_t tim, const enum hrtimer_mode mode) | ||
| 1035 | { | ||
| 1036 | return hrtimer_start_range_ns(timer, tim, 0, mode); | ||
| 1037 | } | ||
| 1019 | EXPORT_SYMBOL_GPL(hrtimer_start); | 1038 | EXPORT_SYMBOL_GPL(hrtimer_start); |
| 1020 | 1039 | ||
| 1040 | |||
| 1021 | /** | 1041 | /** |
| 1022 | * hrtimer_try_to_cancel - try to deactivate a timer | 1042 | * hrtimer_try_to_cancel - try to deactivate a timer |
| 1023 | * @timer: hrtimer to stop | 1043 | * @timer: hrtimer to stop |
