diff options
Diffstat (limited to 'include/linux/kernel.h')
-rw-r--r-- | include/linux/kernel.h | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/include/linux/kernel.h b/include/linux/kernel.h index d6d630d31ef3..3a5b48e52a9e 100644 --- a/include/linux/kernel.h +++ b/include/linux/kernel.h | |||
@@ -103,6 +103,18 @@ | |||
103 | (((__x) - ((__d) / 2)) / (__d)); \ | 103 | (((__x) - ((__d) / 2)) / (__d)); \ |
104 | } \ | 104 | } \ |
105 | ) | 105 | ) |
106 | /* | ||
107 | * Same as above but for u64 dividends. divisor must be a 32-bit | ||
108 | * number. | ||
109 | */ | ||
110 | #define DIV_ROUND_CLOSEST_ULL(x, divisor)( \ | ||
111 | { \ | ||
112 | typeof(divisor) __d = divisor; \ | ||
113 | unsigned long long _tmp = (x) + (__d) / 2; \ | ||
114 | do_div(_tmp, __d); \ | ||
115 | _tmp; \ | ||
116 | } \ | ||
117 | ) | ||
106 | 118 | ||
107 | /* | 119 | /* |
108 | * Multiplies an integer by a fraction, while avoiding unnecessary | 120 | * Multiplies an integer by a fraction, while avoiding unnecessary |