[U-Boot] [PATCH 4/9] linux/kernel.h: import DIV_ROUND_CLOSEST_ULL from Linux
Masahiro Yamada
yamada.masahiro at socionext.com
Wed Dec 19 11:03:16 UTC 2018
Copied from Linux v4.20-rc7.
Signed-off-by: Masahiro Yamada <yamada.masahiro at socionext.com>
---
include/linux/kernel.h | 12 ++++++++++++
1 file changed, 12 insertions(+)
diff --git a/include/linux/kernel.h b/include/linux/kernel.h
index bd88483..a85c15d 100644
--- a/include/linux/kernel.h
+++ b/include/linux/kernel.h
@@ -102,6 +102,18 @@
(((__x) - ((__d) / 2)) / (__d)); \
} \
)
+/*
+ * Same as above but for u64 dividends. divisor must be a 32-bit
+ * number.
+ */
+#define DIV_ROUND_CLOSEST_ULL(x, divisor)( \
+{ \
+ typeof(divisor) __d = divisor; \
+ unsigned long long _tmp = (x) + (__d) / 2; \
+ do_div(_tmp, __d); \
+ _tmp; \
+} \
+)
/*
* Multiplies an integer by a fraction, while avoiding unnecessary
--
2.7.4
More information about the U-Boot
mailing list