On Fri, 14 Sep 2007, Ken'ichi Ohmichi wrote: > diff -rpuN a/include/linux/kexec.h b/include/linux/kexec.h > --- a/include/linux/kexec.h 2007-09-10 23:28:42.000000000 +0900 > +++ b/include/linux/kexec.h 2007-09-10 23:29:52.000000000 +0900 > @@ -132,11 +132,16 @@ unsigned long paddr_vmcoreinfo_note(void > #define SIZE(name) \ > vmcoreinfo_append_str("SIZE(%s)=%lu\n", #name, \ > (unsigned long)sizeof(struct name)) > +#define TYPEDEF_SIZE(name) \ > + vmcoreinfo_append_str("SIZE(%s)=%lu\n", #name, \ > + (unsigned long)sizeof(name)) > #define OFFSET(name, field) \ > vmcoreinfo_append_str("OFFSET(%s.%s)=%lu\n", #name, #field, \ > (unsigned long)&(((struct name *)0)->field)) > #define LENGTH(name, value) \ > vmcoreinfo_append_str("LENGTH(%s)=%lu\n", #name, (unsigned long)value) > +#define NUMBER(name) \ > + vmcoreinfo_append_str("NUMBER(%s)=%ld\n", #name, (long)name) > #define CONFIG(name) \ > vmcoreinfo_append_str("CONFIG_%s=y\n", #name) > The #define SIZE() should be renamed STRUCT_SIZE() since it's always returning the size of the struct with a given name. This would allow TYPEDEF_SIZE() to simply become SIZE() since it need not be used exclusively for typedefs.