interval_tree: Fix ITSTATIC usage for *_subtree_search()
authorJosh Poimboeuf <jpoimboe@kernel.org>
Thu, 18 Sep 2025 16:30:03 +0000 (09:30 -0700)
committerJosh Poimboeuf <jpoimboe@kernel.org>
Tue, 14 Oct 2025 21:45:22 +0000 (14:45 -0700)
For consistency with the other function templates, change
_subtree_search_*() to use the user-supplied ITSTATIC rather than the
hard-coded 'static'.

Acked-by: Petr Mladek <pmladek@suse.com>
Tested-by: Joe Lawrence <joe.lawrence@redhat.com>
Signed-off-by: Josh Poimboeuf <jpoimboe@kernel.org>
drivers/infiniband/hw/usnic/usnic_uiom_interval_tree.h
include/linux/interval_tree.h
include/linux/interval_tree_generic.h
include/linux/mm.h
lib/interval_tree.c
tools/include/linux/interval_tree_generic.h

index 1d7fc32..cfb42a8 100644 (file)
@@ -53,6 +53,10 @@ extern void
 usnic_uiom_interval_tree_remove(struct usnic_uiom_interval_node *node,
                                        struct rb_root_cached *root);
 extern struct usnic_uiom_interval_node *
+usnic_uiom_interval_tree_subtree_search(struct usnic_uiom_interval_node *node,
+                                       unsigned long start,
+                                       unsigned long last);
+extern struct usnic_uiom_interval_node *
 usnic_uiom_interval_tree_iter_first(struct rb_root_cached *root,
                                        unsigned long start,
                                        unsigned long last);
index 2b8026a..9d5791e 100644 (file)
@@ -19,6 +19,10 @@ extern void
 interval_tree_remove(struct interval_tree_node *node,
                     struct rb_root_cached *root);
 
+extern struct interval_tree_node *
+interval_tree_subtree_search(struct interval_tree_node *node,
+                            unsigned long start, unsigned long last);
+
 extern struct interval_tree_node *
 interval_tree_iter_first(struct rb_root_cached *root,
                         unsigned long start, unsigned long last);
index 1b400f2..c5a2fed 100644 (file)
@@ -77,7 +77,7 @@ ITSTATIC void ITPREFIX ## _remove(ITSTRUCT *node,                           \
  *   Cond2: start <= ITLAST(node)                                            \
  */                                                                          \
                                                                              \
-static ITSTRUCT *                                                            \
+ITSTATIC ITSTRUCT *                                                          \
 ITPREFIX ## _subtree_search(ITSTRUCT *node, ITTYPE start, ITTYPE last)       \
 {                                                                            \
        while (true) {                                                        \
index d16b33b..04fa277 100644 (file)
@@ -3369,6 +3369,8 @@ void vma_interval_tree_insert_after(struct vm_area_struct *node,
                                    struct rb_root_cached *root);
 void vma_interval_tree_remove(struct vm_area_struct *node,
                              struct rb_root_cached *root);
+struct vm_area_struct *vma_interval_tree_subtree_search(struct vm_area_struct *node,
+                               unsigned long start, unsigned long last);
 struct vm_area_struct *vma_interval_tree_iter_first(struct rb_root_cached *root,
                                unsigned long start, unsigned long last);
 struct vm_area_struct *vma_interval_tree_iter_next(struct vm_area_struct *node,
index 324766e..9ceb084 100644 (file)
@@ -13,6 +13,7 @@ INTERVAL_TREE_DEFINE(struct interval_tree_node, rb,
 
 EXPORT_SYMBOL_GPL(interval_tree_insert);
 EXPORT_SYMBOL_GPL(interval_tree_remove);
+EXPORT_SYMBOL_GPL(interval_tree_subtree_search);
 EXPORT_SYMBOL_GPL(interval_tree_iter_first);
 EXPORT_SYMBOL_GPL(interval_tree_iter_next);
 
index 1b400f2..c5a2fed 100644 (file)
@@ -77,7 +77,7 @@ ITSTATIC void ITPREFIX ## _remove(ITSTRUCT *node,                           \
  *   Cond2: start <= ITLAST(node)                                            \
  */                                                                          \
                                                                              \
-static ITSTRUCT *                                                            \
+ITSTATIC ITSTRUCT *                                                          \
 ITPREFIX ## _subtree_search(ITSTRUCT *node, ITTYPE start, ITTYPE last)       \
 {                                                                            \
        while (true) {                                                        \