This backports sizeof_field() from upstream Linux commit 4229a470175b ("stddef.h: Introduce sizeof_field()"). This is now used by multiple drivers. Signed-off-by: Hauke Mehrtens <hauke@xxxxxxxxxx> --- backport/backport-include/linux/stddef.h | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/backport/backport-include/linux/stddef.h b/backport/backport-include/linux/stddef.h index 2c836b00..a6cdc67d 100644 --- a/backport/backport-include/linux/stddef.h +++ b/backport/backport-include/linux/stddef.h @@ -2,6 +2,16 @@ #define __BACKPORT_LINUX_STDDEF_H #include_next <linux/stddef.h> +#ifndef sizeof_field +/** + * sizeof_field(TYPE, MEMBER) + * + * @TYPE: The structure containing the field of interest + * @MEMBER: The field to return the size of + */ +#define sizeof_field(TYPE, MEMBER) sizeof((((TYPE *)0)->MEMBER)) +#endif + #ifndef offsetofend /** * offsetofend(TYPE, MEMBER) @@ -10,7 +20,7 @@ * @MEMBER: The member within the structure to get the end offset of */ #define offsetofend(TYPE, MEMBER) \ - (offsetof(TYPE, MEMBER) + sizeof(((TYPE *)0)->MEMBER)) + (offsetof(TYPE, MEMBER) + sizeof_field(TYPE, MEMBER)) #endif #endif /* __BACKPORT_LINUX_STDDEF_H */ -- 2.20.1 -- To unsubscribe from this list: send the line "unsubscribe backports" in