At present we have 3 different macros to calculate the size of a member of a struct: - SIZEOF_FIELD - FIELD_SIZEOF - sizeof_field To bring uniformity in entire kernel source tree let's add sizeof_member macro. Replace all occurrences of above 3 macro's with sizeof_member in future patches. Signed-off-by: Pankaj Bharadiya <pankaj.laxminarayan.bharadiya@xxxxxxxxx> --- include/linux/kernel.h | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/include/linux/kernel.h b/include/linux/kernel.h index 4fa360a13c1e..0b80d8bb3978 100644 --- a/include/linux/kernel.h +++ b/include/linux/kernel.h @@ -79,6 +79,15 @@ */ #define round_down(x, y) ((x) & ~__round_mask(x, y)) +/** + * sizeof_member - get the size of a struct's member + * @T: the target struct + * @m: the target struct's member + * Return: the size of @m in the struct definition without having a + * declared instance of @T. + */ +#define sizeof_member(T, m) (sizeof(((T *)0)->m)) + /** * FIELD_SIZEOF - get the size of a struct's field * @t: the target struct -- 2.17.1