Our include/linux/byteorder.h uses the system <asm/byteorder.h> because we don't provide our own in include/asm. This then pulls in system <linux/stddef.h> which defines __struct_group. That definition collides with the unconditional #define __struct_group in our local include/linux/kernel.h, provoking preprocessor warnings.
Signed-off-by: Chris Webb <[email protected]> --- include/linux/kernel.h | 3 +++ 1 file changed, 3 insertions(+) diff --git a/include/linux/kernel.h b/include/linux/kernel.h index 6315e53..6f56748 100644 --- a/include/linux/kernel.h +++ b/include/linux/kernel.h @@ -99,11 +99,14 @@ (type *)((char *)__mptr - offsetof(type, member)); }) #endif +#ifndef __struct_group #define __struct_group(TAG, NAME, ATTRS, MEMBERS...) \ union { \ struct { MEMBERS } ATTRS; \ struct TAG { MEMBERS } ATTRS NAME; \ } +#endif + #define struct_group(NAME, MEMBERS...) \ __struct_group(/* no tag */, NAME, /* no attrs */, MEMBERS)
