lkml.org 
[lkml]   [2013]   [Feb]   [27]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
Patch in this message
/
Date
From
Subjectcontainer_of() doubt
Hi Greg,

hehe, you must've answered this over and over again, but I don't see the
need for __mptr in the container_of() macro. I tried googling it but
couldn't find much.

I get the macro, but not the need __mptr. Wouldn't this work the same
way ?

diff --git a/include/linux/kernel.h b/include/linux/kernel.h
index 80d3687..bbce857 100644
--- a/include/linux/kernel.h
+++ b/include/linux/kernel.h
@@ -717,8 +717,7 @@ static inline void ftrace_dump(enum ftrace_dump_mode oops_dump_mode) { }
*
*/
#define container_of(ptr, type, member) ({ \
- const typeof( ((type *)0)->member ) *__mptr = (ptr); \
- (type *)( (char *)__mptr - offsetof(type,member) );})
+ (type *)( (char *)(ptr) - offsetof(type,member) );})

/* Trap pasters of __FUNCTION__ at compile-time */
#define __FUNCTION__ (__func__)
why do we need this type * NULL ?

thanks

--
balbi
[unhandled content-type:application/pgp-signature]
\
 
 \ /
  Last update: 2013-02-27 20:41    [W:0.030 / U:0.780 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site