Module Name:    src
Committed By:   riastradh
Date:           Sun Dec 19 01:08:43 UTC 2021

Modified Files:
        src/sys/external/bsd/drm2/include/linux: rbtree.h

Log Message:
Define rb_erase and rb_erase_cached -- easy wrappers.


To generate a diff of this commit:
cvs rdiff -u -r1.4 -r1.5 src/sys/external/bsd/drm2/include/linux/rbtree.h

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: src/sys/external/bsd/drm2/include/linux/rbtree.h
diff -u src/sys/external/bsd/drm2/include/linux/rbtree.h:1.4 src/sys/external/bsd/drm2/include/linux/rbtree.h:1.5
--- src/sys/external/bsd/drm2/include/linux/rbtree.h:1.4	Sun Dec 19 00:47:54 2021
+++ src/sys/external/bsd/drm2/include/linux/rbtree.h	Sun Dec 19 01:08:43 2021
@@ -1,4 +1,4 @@
-/*	$NetBSD: rbtree.h,v 1.4 2021/12/19 00:47:54 riastradh Exp $	*/
+/*	$NetBSD: rbtree.h,v 1.5 2021/12/19 01:08:43 riastradh Exp $	*/
 
 /*-
  * Copyright (c) 2013 The NetBSD Foundation, Inc.
@@ -49,4 +49,19 @@ RB_EMPTY_ROOT(struct rb_root *root)
 	return RB_TREE_MIN(&root->rbr_tree) == NULL;
 }
 
+static inline void
+rb_erase(struct rb_root *root, struct rb_node *rbnode)
+{
+	struct rb_tree *tree = &root->rbr_tree;
+	void *node = (char *)rbnode - tree->rbt_ops->rbto_node_offset;
+
+	rb_tree_remove_node(tree, node);
+}
+
+static inline void
+rb_erase_cached(struct rb_root_cached *root, struct rb_node *rbnode)
+{
+	rb_erase(&root->rbrc_root, rbnode);
+}
+
 #endif  /* _LINUX_RBTREE_H_ */

Reply via email to