[Concept,02/11] ext4l: Provide sizeof_field() in linux/stddef.h

Message ID 20251216211817.4131167-3-sjg@u-boot.org
State New
Headers
Series ext4l: Add Linux compatibility headers |

Commit Message

Simon Glass Dec. 16, 2025, 9:18 p.m. UTC
  From: Simon Glass <simon.glass@canonical.com>

Add the sizeof_field() macro which returns the size of a struct field.
This is used by Linux kernel code including ext4.

Co-developed-by: Claude Opus 4.5 <noreply@anthropic.com>
Signed-off-by: Simon Glass <simon.glass@canonical.com>
---

 include/linux/stddef.h | 8 ++++++++
 1 file changed, 8 insertions(+)
  

Patch

diff --git a/include/linux/stddef.h b/include/linux/stddef.h
index c732eef65ac..deeffc96360 100644
--- a/include/linux/stddef.h
+++ b/include/linux/stddef.h
@@ -17,4 +17,12 @@ 
 #undef offsetof
 #define offsetof(TYPE, MEMBER)	__builtin_offsetof(TYPE, MEMBER)
 
+/**
+ * sizeof_field() - Report the size of a struct field in bytes
+ *
+ * @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