]> git.karo-electronics.de Git - mv-sheeva.git/blobdiff - include/linux/kernel.h
Merge branch 'for-2.6.37/core' of git://git.kernel.dk/linux-2.6-block
[mv-sheeva.git] / include / linux / kernel.h
index f5df2f4acb0d38a9e3061b196c122bbad4927b6a..edef168a04064b61161cff70e9e8d803aa2ed1a4 100644 (file)
@@ -58,7 +58,18 @@ extern const char linux_proc_banner[];
 
 #define FIELD_SIZEOF(t, f) (sizeof(((t*)0)->f))
 #define DIV_ROUND_UP(n,d) (((n) + (d) - 1) / (d))
-#define roundup(x, y) ((((x) + ((y) - 1)) / (y)) * (y))
+#define roundup(x, y) (                                        \
+{                                                      \
+       typeof(y) __y = y;                              \
+       (((x) + (__y - 1)) / __y) * __y;                \
+}                                                      \
+)
+#define rounddown(x, y) (                              \
+{                                                      \
+       typeof(x) __x = (x);                            \
+       __x - (__x % (y));                              \
+}                                                      \
+)
 #define DIV_ROUND_CLOSEST(x, divisor)(                 \
 {                                                      \
        typeof(divisor) __divisor = divisor;            \