timerqueue: Split out timerqueue_types.h
authorKent Overstreet <kent.overstreet@linux.dev>
Mon, 11 Dec 2023 18:32:55 +0000 (13:32 -0500)
committerKent Overstreet <kent.overstreet@linux.dev>
Thu, 21 Dec 2023 00:26:31 +0000 (19:26 -0500)
Trimming down sched.h dependencies: timerqueue_types can include just
rbtree_types.h instead of pulling in rbtree.h.

Cc: Thomas Gleixner <tglx@linutronix.de>
Signed-off-by: Kent Overstreet <kent.overstreet@linux.dev>
include/linux/hrtimer_types.h
include/linux/posix-timers_types.h
include/linux/timerqueue.h
include/linux/timerqueue_types.h [new file with mode: 0644]

index f4ef391b96a7aedd3df52afb878187774d871fe9..ad66a30817357e727e9005417d9edbebb7013492 100644 (file)
@@ -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;
 
index 4783fa17bfeb15672ce55aa7c084dbee6c96913e..a4712c1008c97fbc3caa18541e77529d059b0fe3 100644 (file)
@@ -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>
 
 /*
index adc80e29168ea0aa7f744dc12d36c105814daf33..62973f7d4610f9e39683811bac9ff7575407084f 100644 (file)
@@ -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 (file)
index 0000000..dc298d0
--- /dev/null
@@ -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 */