Merge tag 'video-for-v2021.04' of https://source.denx.de/u-boot/custodians/u-boot...
[platform/kernel/u-boot.git] / include / linux / kernel.h
index 564819a..3e71d61 100644 (file)
@@ -19,6 +19,9 @@
 #ifndef SIZE_MAX
 #define SIZE_MAX       (~(size_t)0)
 #endif
+#ifndef SSIZE_MAX
+#define SSIZE_MAX      ((ssize_t)(SIZE_MAX >> 1))
+#endif
 
 #define U8_MAX         ((u8)~0U)
 #define S8_MAX         ((s8)(U8_MAX>>1))
@@ -69,6 +72,8 @@
 
 #define DIV_ROUND_UP_ULL(ll, d)                DIV_ROUND_DOWN_ULL((ll) + (d) - 1, (d))
 
+#define ROUND(a, b)            (((a) + (b) - 1) & ~((b) - 1))
+
 #if BITS_PER_LONG == 32
 # define DIV_ROUND_UP_SECTOR_T(ll,d) DIV_ROUND_UP_ULL(ll, d)
 #else
        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