summaryrefslogtreecommitdiff
path: root/lib/include
diff options
context:
space:
mode:
authorBen Skeggs <bskeggs@redhat.com>2015-08-20 14:54:16 +1000
committerBen Skeggs <bskeggs@redhat.com>2015-08-28 12:37:37 +1000
commite59f3bfd6f1fdb8390ddcd9a1db93f03da5a5c08 (patch)
treea4ff683f7e007b6241030b11867aa39b8506aa6c /lib/include
parent33b1104b25f0e58ca56d6dd13ce917371a9115fe (diff)
downloadnouveau-e59f3bfd6f1fdb8390ddcd9a1db93f03da5a5c08.tar.gz
nvif: replace path-based object identification
Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
Diffstat (limited to 'lib/include')
-rw-r--r--lib/include/nvif/os.h22
1 files changed, 22 insertions, 0 deletions
diff --git a/lib/include/nvif/os.h b/lib/include/nvif/os.h
index 01b648d6c..58f71c535 100644
--- a/lib/include/nvif/os.h
+++ b/lib/include/nvif/os.h
@@ -552,6 +552,28 @@ struct lock_class_key {
#include "list.h"
/******************************************************************************
+ * rbtree
+ *****************************************************************************/
+struct rb_root {
+ struct rb_node *rb_node;
+};
+
+#define RB_ROOT (struct rb_root) {}
+
+struct rb_node {
+ struct rb_node *parent;
+ struct rb_node *rb_left;
+ struct rb_node *rb_right;
+};
+
+#define RB_EMPTY_NODE(a) ((a)->parent == (a))
+#define RB_CLEAR_NODE(a) ((a)->parent = (a))
+
+void rb_link_node(struct rb_node *, struct rb_node *, struct rb_node **);
+void rb_insert_color(struct rb_node *, struct rb_root *);
+void rb_erase(struct rb_node *, struct rb_root *);
+
+/******************************************************************************
* io space
*****************************************************************************/
#define __iomem