[PATCH] Added a do_div() wrapper macro, lldiv(). The new macro doesn't modify the dividend and returns the result of division, so it is useful in complex expressions, i.e. "return(a/b)" -> "return(lldiv(a,b))"
Sergei Poselenov
psl at pollux.denx.de
Wed Oct 29 13:04:16 CET 2008
Signed-off-by: Sergei Poselenov <sposelenov at emcraft.com>
---
include/div64.h | 8 ++++++++
1 files changed, 8 insertions(+), 0 deletions(-)
diff --git a/include/div64.h b/include/div64.h
index c495aef..df3f73b 100644
--- a/include/div64.h
+++ b/include/div64.h
@@ -36,4 +36,12 @@ extern uint32_t __div64_32(uint64_t *dividend, uint32_t divisor);
__rem; \
})
+/* Wrapper for do_div()
+ */
+# define lldiv(a,b) ({ \
+ uint64_t __temp = (a); \
+ do_div(__temp, (b)); \
+ __temp; \
+ })
+
#endif /* _ASM_GENERIC_DIV64_H */
--
1.5.6.1
More information about the U-Boot
mailing list