diff options
Diffstat (limited to 'include/linux/kernel.h')
| -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 |
