From: <blaisorblade_spam@yahoo.it>

Use, in the rb_entry definition, the container_of macro instead of
reinventing the wheel; compared to using offset_of() as I did in the prev. 
version, it has type safety checking.

Signed-off-by: Paolo 'Blaisorblade' Giarrusso <blaisorblade_spam@yahoo.it>
Signed-off-by: Andrew Morton <akpm@osdl.org>
---

 25-akpm/include/linux/rbtree.h |    3 +--
 1 files changed, 1 insertion(+), 2 deletions(-)

diff -puN include/linux/rbtree.h~use-container_of-for-rb_entry include/linux/rbtree.h
--- 25/include/linux/rbtree.h~use-container_of-for-rb_entry	Fri Oct  8 14:03:48 2004
+++ 25-akpm/include/linux/rbtree.h	Fri Oct  8 14:03:48 2004
@@ -113,8 +113,7 @@ struct rb_root
 };
 
 #define RB_ROOT	(struct rb_root) { NULL, }
-#define	rb_entry(ptr, type, member)					\
-	((type *)((char *)(ptr)-(unsigned long)(&((type *)0)->member)))
+#define	rb_entry(ptr, type, member) container_of(ptr, type, member)
 
 extern void rb_insert_color(struct rb_node *, struct rb_root *);
 extern void rb_erase(struct rb_node *, struct rb_root *);
_