aboutsummaryrefslogtreecommitdiffstats
path: root/include
diff options
context:
space:
mode:
authorArnaldo Carvalho de Melo <acme@ghostprotocols.net>2007-08-19 20:16:05 -0400
committerDavid S. Miller <davem@sunset.davemloft.net>2007-10-10 19:48:12 -0400
commita272378d1128d1c60a463a315646c86d174ff74c (patch)
treef583426e350d48b216f1e09adcc01522bcc8adc9 /include
parente7a81c6d62cbefdeb23d92ad891f429bde1c49d2 (diff)
[KTIME]: Introduce ktime_sub_ns and ktime_sub_us
First user will be the DCCP transport networking protocol. Signed-off-by: Arnaldo Carvalho de Melo <acme@ghostprotocols.net> Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'include')
-rw-r--r--include/linux/ktime.h21
1 files changed, 21 insertions, 0 deletions
diff --git a/include/linux/ktime.h b/include/linux/ktime.h
index dae7143644fe..a6ddec141f96 100644
--- a/include/linux/ktime.h
+++ b/include/linux/ktime.h
@@ -102,6 +102,13 @@ static inline ktime_t ktime_set(const long secs, const unsigned long nsecs)
102#define ktime_add_ns(kt, nsval) \ 102#define ktime_add_ns(kt, nsval) \
103 ({ (ktime_t){ .tv64 = (kt).tv64 + (nsval) }; }) 103 ({ (ktime_t){ .tv64 = (kt).tv64 + (nsval) }; })
104 104
105/*
106 * Subtract a scalar nanosecod from a ktime_t variable
107 * res = kt - nsval:
108 */
109#define ktime_sub_ns(kt, nsval) \
110 ({ (ktime_t){ .tv64 = (kt).tv64 - (nsval) }; })
111
105/* convert a timespec to ktime_t format: */ 112/* convert a timespec to ktime_t format: */
106static inline ktime_t timespec_to_ktime(struct timespec ts) 113static inline ktime_t timespec_to_ktime(struct timespec ts)
107{ 114{
@@ -200,6 +207,15 @@ static inline ktime_t ktime_add(const ktime_t add1, const ktime_t add2)
200extern ktime_t ktime_add_ns(const ktime_t kt, u64 nsec); 207extern ktime_t ktime_add_ns(const ktime_t kt, u64 nsec);
201 208
202/** 209/**
210 * ktime_sub_ns - Subtract a scalar nanoseconds value from a ktime_t variable
211 * @kt: minuend
212 * @nsec: the scalar nsec value to subtract
213 *
214 * Returns the subtraction of @nsec from @kt in ktime_t format
215 */
216extern ktime_t ktime_sub_ns(const ktime_t kt, u64 nsec);
217
218/**
203 * timespec_to_ktime - convert a timespec to ktime_t format 219 * timespec_to_ktime - convert a timespec to ktime_t format
204 * @ts: the timespec variable to convert 220 * @ts: the timespec variable to convert
205 * 221 *
@@ -289,6 +305,11 @@ static inline ktime_t ktime_add_us(const ktime_t kt, const u64 usec)
289 return ktime_add_ns(kt, usec * 1000); 305 return ktime_add_ns(kt, usec * 1000);
290} 306}
291 307
308static inline ktime_t ktime_sub_us(const ktime_t kt, const u64 usec)
309{
310 return ktime_sub_ns(kt, usec * 1000);
311}
312
292/* 313/*
293 * The resolution of the clocks. The resolution value is returned in 314 * The resolution of the clocks. The resolution value is returned in
294 * the clock_getres() system call to give application programmers an 315 * the clock_getres() system call to give application programmers an