Hello all,
Modified the previous version, as suggested by Wolfgang.

Regards,
Sergei

Description:

Added a do_div() wrapper, lldiv(). The new inline function 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))"
    
Signed-off-by: Sergei Poselenov <[EMAIL PROTECTED]>

diff --git a/include/div64.h b/include/div64.h
index c495aef..d833144 100644
--- a/include/div64.h
+++ b/include/div64.h
@@ -36,4 +36,14 @@ extern uint32_t __div64_32(uint64_t *dividend, uint32_t 
divisor);
        __rem;                                          \
  })
 
+/* Wrapper for do_div(). Doesn't modify dividend and returns
+ * the result, not reminder.
+ */
+static inline uint64_t lldiv(uint64_t dividend, uint32_t divisor)
+{
+       uint64_t __res = dividend;
+       do_div(__res, divisor);
+       return(__res);
+}
+
 #endif /* _ASM_GENERIC_DIV64_H */
_______________________________________________
U-Boot mailing list
U-Boot@lists.denx.de
http://lists.denx.de/mailman/listinfo/u-boot

Reply via email to