summaryrefslogtreecommitdiffstats
path: root/include
diff options
context:
space:
mode:
authorMartin K. Petersen <martin.petersen@oracle.com>2010-09-10 20:07:38 +0200
committerJens Axboe <axboe@carl.home.kernel.dk>2010-09-10 20:07:38 +0200
commitc8bf1336824ebd698d37b71763e1c43190f2229a (patch)
tree19948b3c686ba71bb2e85883a5325cec069015b7 /include
parentLinux 2.6.36-rc2 (diff)
downloadlinux-c8bf1336824ebd698d37b71763e1c43190f2229a.tar.xz
linux-c8bf1336824ebd698d37b71763e1c43190f2229a.zip
Consolidate min_not_zero
We have several users of min_not_zero, each of them using their own definition. Move the define to kernel.h. Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com> Signed-off-by: Jens Axboe <axboe@carl.home.kernel.dk>
Diffstat (limited to 'include')
-rw-r--r--include/linux/kernel.h10
1 files changed, 10 insertions, 0 deletions
diff --git a/include/linux/kernel.h b/include/linux/kernel.h
index 2b0a35e6bc69..f5df2f4acb0d 100644
--- a/include/linux/kernel.h
+++ b/include/linux/kernel.h
@@ -641,6 +641,16 @@ static inline void ftrace_dump(enum ftrace_dump_mode oops_dump_mode) { }
_max1 > _max2 ? _max1 : _max2; })
/**
+ * min_not_zero - return the minimum that is _not_ zero, unless both are zero
+ * @x: value1
+ * @y: value2
+ */
+#define min_not_zero(x, y) ({ \
+ typeof(x) __x = (x); \
+ typeof(y) __y = (y); \
+ __x == 0 ? __y : ((__y == 0) ? __x : min(__x, __y)); })
+
+/**
* clamp - return a value clamped to a given range with strict typechecking
* @val: current value
* @min: minimum allowable value