common: Move check_member() to kernel.h

The kernel.h file has a number of useful macros including a few related
to structures. Move check_member() there too.

Signed-off-by: Simon Glass <sjg@chromium.org>
This commit is contained in:
Simon Glass 2019-12-28 10:45:08 -07:00 committed by Jagan Teki
parent 29a4a9f105
commit 28de7505a7
2 changed files with 11 additions and 11 deletions

View File

@ -73,17 +73,6 @@
#define ROUND(a,b) (((a) + (b) - 1) & ~((b) - 1))
/*
* check_member() - Check the offset of a structure member
*
* @structure: Name of structure (e.g. global_data)
* @member: Name of member (e.g. baudrate)
* @offset: Expected offset in bytes
*/
#define check_member(structure, member, offset) _Static_assert( \
offsetof(struct structure, member) == offset, \
"`struct " #structure "` offset for `" #member "` is not " #offset)
/* Pull in stuff for the build system */
#ifdef DO_DEPS_ONLY
# include <env_internal.h>

View File

@ -268,4 +268,15 @@
const typeof( ((type *)0)->member ) *__mptr = (ptr); \
(type *)( (char *)__mptr - offsetof(type,member) );})
/*
* check_member() - Check the offset of a structure member
*
* @structure: Name of structure (e.g. global_data)
* @member: Name of member (e.g. baudrate)
* @offset: Expected offset in bytes
*/
#define check_member(structure, member, offset) _Static_assert( \
offsetof(struct structure, member) == (offset), \
"`struct " #structure "` offset for `" #member "` is not " #offset)
#endif