diff options
author | Thomas Gleixner <tglx@linutronix.de> | 2017-05-30 17:15:41 -0400 |
---|---|---|
committer | Thomas Gleixner <tglx@linutronix.de> | 2017-06-04 09:40:23 -0400 |
commit | bab0aae9dcba9466dcc968b8bd21914f8f691631 (patch) | |
tree | 4099065707529a821372baf4a3d1d268ebda32d5 /kernel/time | |
parent | 03676b41a8ffcbb1f6d9eb6ca754b2bfa431fd59 (diff) |
posix-timers: Move posix-timer internals to core
None of these declarations is required outside of kernel/time. Move them to
an internal header.
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Cc: Peter Zijlstra <peterz@infradead.org>
Cc: John Stultz <john.stultz@linaro.org>
Cc: Christoph Hellwig <hch@lst.de>
Link: http://lkml.kernel.org/r/20170530211656.394803853@linutronix.de
Diffstat (limited to 'kernel/time')
-rw-r--r-- | kernel/time/alarmtimer.c | 2 | ||||
-rw-r--r-- | kernel/time/posix-clock.c | 2 | ||||
-rw-r--r-- | kernel/time/posix-cpu-timers.c | 2 | ||||
-rw-r--r-- | kernel/time/posix-timers.c | 1 | ||||
-rw-r--r-- | kernel/time/posix-timers.h | 29 |
5 files changed, 36 insertions, 0 deletions
diff --git a/kernel/time/alarmtimer.c b/kernel/time/alarmtimer.c index 2a8675f9aac5..36855d675da5 100644 --- a/kernel/time/alarmtimer.c +++ b/kernel/time/alarmtimer.c | |||
@@ -28,6 +28,8 @@ | |||
28 | #include <linux/workqueue.h> | 28 | #include <linux/workqueue.h> |
29 | #include <linux/freezer.h> | 29 | #include <linux/freezer.h> |
30 | 30 | ||
31 | #include "posix-timers.h" | ||
32 | |||
31 | #define CREATE_TRACE_POINTS | 33 | #define CREATE_TRACE_POINTS |
32 | #include <trace/events/alarmtimer.h> | 34 | #include <trace/events/alarmtimer.h> |
33 | 35 | ||
diff --git a/kernel/time/posix-clock.c b/kernel/time/posix-clock.c index bd4fb785652f..17cdc554c9fe 100644 --- a/kernel/time/posix-clock.c +++ b/kernel/time/posix-clock.c | |||
@@ -25,6 +25,8 @@ | |||
25 | #include <linux/syscalls.h> | 25 | #include <linux/syscalls.h> |
26 | #include <linux/uaccess.h> | 26 | #include <linux/uaccess.h> |
27 | 27 | ||
28 | #include "posix-timers.h" | ||
29 | |||
28 | static void delete_clock(struct kref *kref); | 30 | static void delete_clock(struct kref *kref); |
29 | 31 | ||
30 | /* | 32 | /* |
diff --git a/kernel/time/posix-cpu-timers.c b/kernel/time/posix-cpu-timers.c index c99434739fd5..a77a792f2570 100644 --- a/kernel/time/posix-cpu-timers.c +++ b/kernel/time/posix-cpu-timers.c | |||
@@ -13,6 +13,8 @@ | |||
13 | #include <linux/tick.h> | 13 | #include <linux/tick.h> |
14 | #include <linux/workqueue.h> | 14 | #include <linux/workqueue.h> |
15 | 15 | ||
16 | #include "posix-timers.h" | ||
17 | |||
16 | /* | 18 | /* |
17 | * Called after updating RLIMIT_CPU to run cpu timer and update | 19 | * Called after updating RLIMIT_CPU to run cpu timer and update |
18 | * tsk->signal->cputime_expires expiration cache if necessary. Needs | 20 | * tsk->signal->cputime_expires expiration cache if necessary. Needs |
diff --git a/kernel/time/posix-timers.c b/kernel/time/posix-timers.c index b60b655dfbcd..dee6a0d911d4 100644 --- a/kernel/time/posix-timers.c +++ b/kernel/time/posix-timers.c | |||
@@ -51,6 +51,7 @@ | |||
51 | #include <linux/hashtable.h> | 51 | #include <linux/hashtable.h> |
52 | 52 | ||
53 | #include "timekeeping.h" | 53 | #include "timekeeping.h" |
54 | #include "posix-timers.h" | ||
54 | 55 | ||
55 | /* | 56 | /* |
56 | * Management arrays for POSIX timers. Timers are now kept in static hash table | 57 | * Management arrays for POSIX timers. Timers are now kept in static hash table |
diff --git a/kernel/time/posix-timers.h b/kernel/time/posix-timers.h new file mode 100644 index 000000000000..ad2dbd29b389 --- /dev/null +++ b/kernel/time/posix-timers.h | |||
@@ -0,0 +1,29 @@ | |||
1 | #define TIMER_RETRY 1 | ||
2 | |||
3 | struct k_clock { | ||
4 | int (*clock_getres) (const clockid_t which_clock, struct timespec64 *tp); | ||
5 | int (*clock_set) (const clockid_t which_clock, | ||
6 | const struct timespec64 *tp); | ||
7 | int (*clock_get) (const clockid_t which_clock, struct timespec64 *tp); | ||
8 | int (*clock_adj) (const clockid_t which_clock, struct timex *tx); | ||
9 | int (*timer_create) (struct k_itimer *timer); | ||
10 | int (*nsleep) (const clockid_t which_clock, int flags, | ||
11 | struct timespec64 *, struct timespec __user *); | ||
12 | long (*nsleep_restart) (struct restart_block *restart_block); | ||
13 | int (*timer_set) (struct k_itimer *timr, int flags, | ||
14 | struct itimerspec64 *new_setting, | ||
15 | struct itimerspec64 *old_setting); | ||
16 | int (*timer_del) (struct k_itimer *timr); | ||
17 | void (*timer_get) (struct k_itimer *timr, | ||
18 | struct itimerspec64 *cur_setting); | ||
19 | }; | ||
20 | |||
21 | extern const struct k_clock clock_posix_cpu; | ||
22 | extern const struct k_clock clock_posix_dynamic; | ||
23 | extern const struct k_clock clock_process; | ||
24 | extern const struct k_clock clock_thread; | ||
25 | extern const struct k_clock alarm_clock; | ||
26 | |||
27 | int posix_timer_event(struct k_itimer *timr, int si_private); | ||
28 | |||
29 | void posix_cpu_timer_schedule(struct k_itimer *timer); | ||