diff options
-rw-r--r-- | include/linux/kernel.h | 18 |
1 files changed, 18 insertions, 0 deletions
diff --git a/include/linux/kernel.h b/include/linux/kernel.h index edef168a0406..8e786a27cfe6 100644 --- a/include/linux/kernel.h +++ b/include/linux/kernel.h | |||
@@ -651,6 +651,24 @@ static inline void ftrace_dump(enum ftrace_dump_mode oops_dump_mode) { } | |||
651 | (void) (&_max1 == &_max2); \ | 651 | (void) (&_max1 == &_max2); \ |
652 | _max1 > _max2 ? _max1 : _max2; }) | 652 | _max1 > _max2 ? _max1 : _max2; }) |
653 | 653 | ||
654 | #define min3(x, y, z) ({ \ | ||
655 | typeof(x) _min1 = (x); \ | ||
656 | typeof(y) _min2 = (y); \ | ||
657 | typeof(z) _min3 = (z); \ | ||
658 | (void) (&_min1 == &_min2); \ | ||
659 | (void) (&_min1 == &_min3); \ | ||
660 | _min1 < _min2 ? (_min1 < _min3 ? _min1 : _min3) : \ | ||
661 | (_min2 < _min3 ? _min2 : _min3); }) | ||
662 | |||
663 | #define max3(x, y, z) ({ \ | ||
664 | typeof(x) _max1 = (x); \ | ||
665 | typeof(y) _max2 = (y); \ | ||
666 | typeof(z) _max3 = (z); \ | ||
667 | (void) (&_max1 == &_max2); \ | ||
668 | (void) (&_max1 == &_max3); \ | ||
669 | _max1 > _max2 ? (_max1 > _max3 ? _max1 : _max3) : \ | ||
670 | (_max2 > _max3 ? _max2 : _max3); }) | ||
671 | |||
654 | /** | 672 | /** |
655 | * min_not_zero - return the minimum that is _not_ zero, unless both are zero | 673 | * min_not_zero - return the minimum that is _not_ zero, unless both are zero |
656 | * @x: value1 | 674 | * @x: value1 |