1*457c8996SThomas Gleixner // SPDX-License-Identifier: GPL-2.0-only 2fff3fd8aSMichel Lespinasse #include <linux/interval_tree.h> 39826a516SMichel Lespinasse #include <linux/interval_tree_generic.h> 485c5e27cSRasmus Villemoes #include <linux/compiler.h> 585c5e27cSRasmus Villemoes #include <linux/export.h> 6fff3fd8aSMichel Lespinasse 79826a516SMichel Lespinasse #define START(node) ((node)->start) 89826a516SMichel Lespinasse #define LAST(node) ((node)->last) 9fff3fd8aSMichel Lespinasse 109826a516SMichel Lespinasse INTERVAL_TREE_DEFINE(struct interval_tree_node, rb, 119826a516SMichel Lespinasse unsigned long, __subtree_last, 129826a516SMichel Lespinasse START, LAST,, interval_tree) 13a88cc108SChris Wilson 14a88cc108SChris Wilson EXPORT_SYMBOL_GPL(interval_tree_insert); 15a88cc108SChris Wilson EXPORT_SYMBOL_GPL(interval_tree_remove); 16a88cc108SChris Wilson EXPORT_SYMBOL_GPL(interval_tree_iter_first); 17a88cc108SChris Wilson EXPORT_SYMBOL_GPL(interval_tree_iter_next); 18