Lines Matching refs:parent

28 	struct rb_node *parent = rb_parent(node);
34 rb_set_parent(right, parent);
36 if (parent)
38 if (node == parent->rb_left)
39 parent->rb_left = right;
41 parent->rb_right = right;
51 struct rb_node *parent = rb_parent(node);
57 rb_set_parent(left, parent);
59 if (parent)
61 if (node == parent->rb_right)
62 parent->rb_right = left;
64 parent->rb_left = left;
73 struct rb_node *parent, *gparent;
75 while ((parent = rb_parent(node)) && rb_is_red(parent))
77 gparent = rb_parent(parent);
79 if (parent == gparent->rb_left)
86 rb_set_black(parent);
93 if (parent->rb_right == node)
96 __rb_rotate_left(parent, root);
97 tmp = parent;
98 parent = node;
102 rb_set_black(parent);
111 rb_set_black(parent);
118 if (parent->rb_left == node)
121 __rb_rotate_right(parent, root);
122 tmp = parent;
123 parent = node;
127 rb_set_black(parent);
136 static void __rb_erase_color(struct rb_node *node, struct rb_node *parent,
143 if (parent->rb_left == node)
145 other = parent->rb_right;
149 rb_set_red(parent);
150 __rb_rotate_left(parent, root);
151 other = parent->rb_right;
157 node = parent;
158 parent = rb_parent(node);
169 other = parent->rb_right;
171 rb_set_color(other, rb_color(parent));
172 rb_set_black(parent);
175 __rb_rotate_left(parent, root);
182 other = parent->rb_left;
186 rb_set_red(parent);
187 __rb_rotate_right(parent, root);
188 other = parent->rb_left;
194 node = parent;
195 parent = rb_parent(node);
206 other = parent->rb_left;
208 rb_set_color(other, rb_color(parent));
209 rb_set_black(parent);
212 __rb_rotate_right(parent, root);
224 struct rb_node *child, *parent;
239 parent = rb_parent(node);
243 rb_set_parent(child, parent);
244 if (parent == old) {
245 parent->rb_right = child;
246 parent = node;
248 parent->rb_left = child;
269 parent = rb_parent(node);
273 rb_set_parent(child, parent);
274 if (parent)
276 if (parent->rb_left == node)
277 parent->rb_left = child;
279 parent->rb_right = child;
286 __rb_erase_color(child, parent, root);
306 struct rb_node *parent;
324 * so any 'next' node must be in the general direction of our parent.
326 * parent, keep going up. First time it's a left-hand child of its
327 * parent, said parent is our 'next' node.
329 while ((parent = rb_parent(node)) && node == parent->rb_right)
330 node = parent;
332 return parent;