diff options
| author | 2013-01-25 21:25:02 -0800 | |
|---|---|---|
| committer | 2013-01-25 21:25:02 -0800 | |
| commit | 8f5f90a872c38b4e78f3cc95e8a25434b98e4db2 (patch) | |
| tree | 36c50b0c97286ab89c85016f7ab281f8e843c05c /include/linux/rbtree_augmented.h | |
| parent | staging: comedi: addi_watchdog: all i/o registers are 32-bit (diff) | |
| parent | Linux 3.8-rc5 (diff) | |
| download | linux-dev-8f5f90a872c38b4e78f3cc95e8a25434b98e4db2.tar.xz linux-dev-8f5f90a872c38b4e78f3cc95e8a25434b98e4db2.zip | |
Merge 3.8-rc5 into staging-next
This resolves a merge issue with a iio driver, and the zram code.
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Diffstat (limited to 'include/linux/rbtree_augmented.h')
| -rw-r--r-- | include/linux/rbtree_augmented.h | 14 |
1 files changed, 11 insertions, 3 deletions
diff --git a/include/linux/rbtree_augmented.h b/include/linux/rbtree_augmented.h index 2ac60c9cf644..fea49b5da12a 100644 --- a/include/linux/rbtree_augmented.h +++ b/include/linux/rbtree_augmented.h @@ -123,9 +123,9 @@ __rb_change_child(struct rb_node *old, struct rb_node *new, extern void __rb_erase_color(struct rb_node *parent, struct rb_root *root, void (*augment_rotate)(struct rb_node *old, struct rb_node *new)); -static __always_inline void -rb_erase_augmented(struct rb_node *node, struct rb_root *root, - const struct rb_augment_callbacks *augment) +static __always_inline struct rb_node * +__rb_erase_augmented(struct rb_node *node, struct rb_root *root, + const struct rb_augment_callbacks *augment) { struct rb_node *child = node->rb_right, *tmp = node->rb_left; struct rb_node *parent, *rebalance; @@ -217,6 +217,14 @@ rb_erase_augmented(struct rb_node *node, struct rb_root *root, } augment->propagate(tmp, NULL); + return rebalance; +} + +static __always_inline void +rb_erase_augmented(struct rb_node *node, struct rb_root *root, + const struct rb_augment_callbacks *augment) +{ + struct rb_node *rebalance = __rb_erase_augmented(node, root, augment); if (rebalance) __rb_erase_color(rebalance, root, augment->rotate); } |
