]> www.infradead.org Git - mtd-utils.git/commitdiff
mtd-utils: Add macros to include/common.h
authorhujianyang <hujianyang@huawei.com>
Thu, 16 Oct 2014 12:02:09 +0000 (20:02 +0800)
committerArtem Bityutskiy <artem.bityutskiy@linux.intel.com>
Mon, 20 Oct 2014 10:41:56 +0000 (13:41 +0300)
This patch adds four macros:

    ALIGN, __ALIGN_MASK, min_t and max_t

to include/common.h.

Signed-off-by: hujianyang <hujianyang@huawei.com>
include/common.h

index 6895e5c9393caa40e076275e98f6b971888122f4..9b8804a2b02b826814e6ca80beed07cc229fbbd1 100644 (file)
@@ -47,6 +47,21 @@ extern "C" {
 #define min(a, b) MIN(a, b) /* glue for linux kernel source */
 #define ARRAY_SIZE(a) (sizeof(a) / sizeof((a)[0]))
 
+#define ALIGN(x,a) __ALIGN_MASK(x,(typeof(x))(a)-1)
+#define __ALIGN_MASK(x,mask) (((x)+(mask))&~(mask))
+
+#define min_t(t,x,y) ({ \
+       typeof((x)) _x = (x); \
+       typeof((y)) _y = (y); \
+       (_x < _y) ? _x : _y; \
+})
+
+#define max_t(t,x,y) ({ \
+       typeof((x)) _x = (x); \
+       typeof((y)) _y = (y); \
+       (_x > _y) ? _x : _y; \
+})
+
 #ifndef O_CLOEXEC
 #define O_CLOEXEC 0
 #endif