|
@@ -734,7 +734,7 @@ static inline void ftrace_dump(enum ftrace_dump_mode oops_dump_mode) { }
|
|
|
* @lo: lowest allowable value
|
|
|
* @hi: highest allowable value
|
|
|
*
|
|
|
- * This macro does strict typechecking of min/max to make sure they are of the
|
|
|
+ * This macro does strict typechecking of lo/hi to make sure they are of the
|
|
|
* same type as val. See the unnecessary pointer comparisons.
|
|
|
*/
|
|
|
#define clamp(val, lo, hi) min((typeof(val))max(val, lo), hi)
|
|
@@ -759,36 +759,26 @@ static inline void ftrace_dump(enum ftrace_dump_mode oops_dump_mode) { }
|
|
|
* clamp_t - return a value clamped to a given range using a given type
|
|
|
* @type: the type of variable to use
|
|
|
* @val: current value
|
|
|
- * @min: minimum allowable value
|
|
|
- * @max: maximum allowable value
|
|
|
+ * @lo: minimum allowable value
|
|
|
+ * @hi: maximum allowable value
|
|
|
*
|
|
|
* This macro does no typechecking and uses temporary variables of type
|
|
|
* 'type' to make all the comparisons.
|
|
|
*/
|
|
|
-#define clamp_t(type, val, min, max) ({ \
|
|
|
- type __val = (val); \
|
|
|
- type __min = (min); \
|
|
|
- type __max = (max); \
|
|
|
- __val = __val < __min ? __min: __val; \
|
|
|
- __val > __max ? __max: __val; })
|
|
|
+#define clamp_t(type, val, lo, hi) min_t(type, max_t(type, val, lo), hi)
|
|
|
|
|
|
/**
|
|
|
* clamp_val - return a value clamped to a given range using val's type
|
|
|
* @val: current value
|
|
|
- * @min: minimum allowable value
|
|
|
- * @max: maximum allowable value
|
|
|
+ * @lo: minimum allowable value
|
|
|
+ * @hi: maximum allowable value
|
|
|
*
|
|
|
* This macro does no typechecking and uses temporary variables of whatever
|
|
|
* type the input argument 'val' is. This is useful when val is an unsigned
|
|
|
* type and min and max are literals that will otherwise be assigned a signed
|
|
|
* integer type.
|
|
|
*/
|
|
|
-#define clamp_val(val, min, max) ({ \
|
|
|
- typeof(val) __val = (val); \
|
|
|
- typeof(val) __min = (min); \
|
|
|
- typeof(val) __max = (max); \
|
|
|
- __val = __val < __min ? __min: __val; \
|
|
|
- __val > __max ? __max: __val; })
|
|
|
+#define clamp_val(val, lo, hi) clamp_t(typeof(val), val, lo, hi)
|
|
|
|
|
|
|
|
|
/*
|