blob: 593ce56ece50500b63f9fa5cdb93f1fa09697f1a [file] [log] [blame]
Thomas Gleixner457c8992019-05-19 13:08:55 +01001// SPDX-License-Identifier: GPL-2.0-only
Michel Lespinassefff3fd82012-10-08 16:31:23 -07002#include <linux/interval_tree.h>
Michel Lespinasse9826a512012-10-08 16:31:35 -07003#include <linux/interval_tree_generic.h>
Rasmus Villemoes85c5e272015-02-12 15:02:32 -08004#include <linux/compiler.h>
5#include <linux/export.h>
Michel Lespinassefff3fd82012-10-08 16:31:23 -07006
Michel Lespinasse9826a512012-10-08 16:31:35 -07007#define START(node) ((node)->start)
8#define LAST(node) ((node)->last)
Michel Lespinassefff3fd82012-10-08 16:31:23 -07009
Michel Lespinasse9826a512012-10-08 16:31:35 -070010INTERVAL_TREE_DEFINE(struct interval_tree_node, rb,
11 unsigned long, __subtree_last,
12 START, LAST,, interval_tree)
Chris Wilsona88cc102014-03-17 12:21:54 +000013
14EXPORT_SYMBOL_GPL(interval_tree_insert);
15EXPORT_SYMBOL_GPL(interval_tree_remove);
16EXPORT_SYMBOL_GPL(interval_tree_iter_first);
17EXPORT_SYMBOL_GPL(interval_tree_iter_next);