Trimming down sched.h dependencies: timerqueue_types can include just rbtree_types.h instead of pulling in rbtree.h. Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Signed-off-by: Kent Overstreet <kent.overstreet@xxxxxxxxx> --- include/linux/hrtimer_types.h | 2 +- include/linux/posix-timers_types.h | 2 +- include/linux/timerqueue.h | 13 +------------ include/linux/timerqueue_types.h | 17 +++++++++++++++++ 4 files changed, 20 insertions(+), 14 deletions(-) create mode 100644 include/linux/timerqueue_types.h diff --git a/include/linux/hrtimer_types.h b/include/linux/hrtimer_types.h index f4ef391b96a7..ad66a3081735 100644 --- a/include/linux/hrtimer_types.h +++ b/include/linux/hrtimer_types.h @@ -3,7 +3,7 @@ #define _LINUX_HRTIMER_TYPES_H #include <linux/types.h> -#include <linux/timerqueue.h> +#include <linux/timerqueue_types.h> struct hrtimer_clock_base; diff --git a/include/linux/posix-timers_types.h b/include/linux/posix-timers_types.h index 57fec639a9bb..2b1f30ee2db0 100644 --- a/include/linux/posix-timers_types.h +++ b/include/linux/posix-timers_types.h @@ -3,7 +3,7 @@ #define _linux_POSIX_TIMERS_TYPES_H #include <linux/mutex_types.h> -#include <linux/timerqueue.h> +#include <linux/timerqueue_types.h> #include <linux/types.h> /* diff --git a/include/linux/timerqueue.h b/include/linux/timerqueue.h index adc80e29168e..62973f7d4610 100644 --- a/include/linux/timerqueue.h +++ b/include/linux/timerqueue.h @@ -3,18 +3,7 @@ #define _LINUX_TIMERQUEUE_H #include <linux/rbtree.h> -#include <linux/ktime.h> - - -struct timerqueue_node { - struct rb_node node; - ktime_t expires; -}; - -struct timerqueue_head { - struct rb_root_cached rb_root; -}; - +#include <linux/timerqueue_types.h> extern bool timerqueue_add(struct timerqueue_head *head, struct timerqueue_node *node); diff --git a/include/linux/timerqueue_types.h b/include/linux/timerqueue_types.h new file mode 100644 index 000000000000..dc298d0923e3 --- /dev/null +++ b/include/linux/timerqueue_types.h @@ -0,0 +1,17 @@ +/* SPDX-License-Identifier: GPL-2.0 */ +#ifndef _LINUX_TIMERQUEUE_TYPES_H +#define _LINUX_TIMERQUEUE_TYPES_H + +#include <linux/rbtree_types.h> +#include <linux/types.h> + +struct timerqueue_node { + struct rb_node node; + ktime_t expires; +}; + +struct timerqueue_head { + struct rb_root_cached rb_root; +}; + +#endif /* _LINUX_TIMERQUEUE_TYPES_H */ -- 2.43.0