diff options
author | Ben Skeggs <bskeggs@redhat.com> | 2015-08-20 14:54:16 +1000 |
---|---|---|
committer | Ben Skeggs <bskeggs@redhat.com> | 2015-08-28 12:37:37 +1000 |
commit | e59f3bfd6f1fdb8390ddcd9a1db93f03da5a5c08 (patch) | |
tree | a4ff683f7e007b6241030b11867aa39b8506aa6c /lib/include/nvif/os.h | |
parent | 33b1104b25f0e58ca56d6dd13ce917371a9115fe (diff) | |
download | nouveau-e59f3bfd6f1fdb8390ddcd9a1db93f03da5a5c08.tar.gz |
nvif: replace path-based object identification
Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
Diffstat (limited to 'lib/include/nvif/os.h')
-rw-r--r-- | lib/include/nvif/os.h | 22 |
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 |