summaryrefslogtreecommitdiff
path: root/resources/coreboot/haswell/patches/0001-commonlib-clamp.h-Add-more-clamping-functions.patch
diff options
context:
space:
mode:
Diffstat (limited to 'resources/coreboot/haswell/patches/0001-commonlib-clamp.h-Add-more-clamping-functions.patch')
-rw-r--r--resources/coreboot/haswell/patches/0001-commonlib-clamp.h-Add-more-clamping-functions.patch54
1 files changed, 54 insertions, 0 deletions
diff --git a/resources/coreboot/haswell/patches/0001-commonlib-clamp.h-Add-more-clamping-functions.patch b/resources/coreboot/haswell/patches/0001-commonlib-clamp.h-Add-more-clamping-functions.patch
new file mode 100644
index 00000000..96e4c14d
--- /dev/null
+++ b/resources/coreboot/haswell/patches/0001-commonlib-clamp.h-Add-more-clamping-functions.patch
@@ -0,0 +1,54 @@
+From dd58f5e9108bc596c93071705d2b53233d13ade6 Mon Sep 17 00:00:00 2001
+From: Angel Pons <th3fanbus@gmail.com>
+Date: Sat, 7 May 2022 20:36:10 +0200
+Subject: [PATCH 01/26] commonlib/clamp.h: Add more clamping functions
+
+Add more clamping functions that work with different types.
+
+Change-Id: I14cf335d5a54f769f8fd9184450957e876affd6b
+Signed-off-by: Angel Pons <th3fanbus@gmail.com>
+---
+ src/commonlib/include/commonlib/clamp.h | 26 +++++++++++++++++--------
+ 1 file changed, 18 insertions(+), 8 deletions(-)
+
+diff --git a/src/commonlib/include/commonlib/clamp.h b/src/commonlib/include/commonlib/clamp.h
+index e01a107ed4..526185195c 100644
+--- a/src/commonlib/include/commonlib/clamp.h
++++ b/src/commonlib/include/commonlib/clamp.h
+@@ -8,15 +8,25 @@
+ /*
+ * Clamp a value, so that it is between a lower and an upper bound.
+ */
+-static inline u32 clamp_u32(const u32 min, const u32 val, const u32 max)
+-{
+- if (val > max)
+- return max;
++#define __MAKE_CLAMP_FUNC(type) \
++ static inline type clamp_##type(const type min, const type val, const type max) \
++ { \
++ if (val > max) \
++ return max; \
++ if (val < min) \
++ return min; \
++ return val; \
++ } \
+
+- if (val < min)
+- return min;
++__MAKE_CLAMP_FUNC(s8) /* clamp_s8 */
++__MAKE_CLAMP_FUNC(u8) /* clamp_u8 */
++__MAKE_CLAMP_FUNC(s16) /* clamp_s16 */
++__MAKE_CLAMP_FUNC(u16) /* clamp_u16 */
++__MAKE_CLAMP_FUNC(s32) /* clamp_s32 */
++__MAKE_CLAMP_FUNC(u32) /* clamp_u32 */
++__MAKE_CLAMP_FUNC(s64) /* clamp_s64 */
++__MAKE_CLAMP_FUNC(u64) /* clamp_u64 */
+
+- return val;
+-}
++#undef __MAKE_CLAMP_FUNC
+
+ #endif /* COMMONLIB_CLAMP_H */
+--
+2.39.2
+