|
@@ -11,6 +11,11 @@
|
|
|
|
|
|
|
|
/**
|
|
/**
|
|
|
* div_u64_rem - unsigned 64bit divide with 32bit divisor with remainder
|
|
* div_u64_rem - unsigned 64bit divide with 32bit divisor with remainder
|
|
|
|
|
+ * @dividend: unsigned 64bit dividend
|
|
|
|
|
+ * @divisor: unsigned 32bit divisor
|
|
|
|
|
+ * @remainder: pointer to unsigned 32bit remainder
|
|
|
|
|
+ *
|
|
|
|
|
+ * Return: sets ``*remainder``, then returns dividend / divisor
|
|
|
*
|
|
*
|
|
|
* This is commonly provided by 32bit archs to provide an optimized 64bit
|
|
* This is commonly provided by 32bit archs to provide an optimized 64bit
|
|
|
* divide.
|
|
* divide.
|
|
@@ -23,6 +28,11 @@ static inline u64 div_u64_rem(u64 dividend, u32 divisor, u32 *remainder)
|
|
|
|
|
|
|
|
/**
|
|
/**
|
|
|
* div_s64_rem - signed 64bit divide with 32bit divisor with remainder
|
|
* div_s64_rem - signed 64bit divide with 32bit divisor with remainder
|
|
|
|
|
+ * @dividend: signed 64bit dividend
|
|
|
|
|
+ * @divisor: signed 32bit divisor
|
|
|
|
|
+ * @remainder: pointer to signed 32bit remainder
|
|
|
|
|
+ *
|
|
|
|
|
+ * Return: sets ``*remainder``, then returns dividend / divisor
|
|
|
*/
|
|
*/
|
|
|
static inline s64 div_s64_rem(s64 dividend, s32 divisor, s32 *remainder)
|
|
static inline s64 div_s64_rem(s64 dividend, s32 divisor, s32 *remainder)
|
|
|
{
|
|
{
|
|
@@ -32,6 +42,11 @@ static inline s64 div_s64_rem(s64 dividend, s32 divisor, s32 *remainder)
|
|
|
|
|
|
|
|
/**
|
|
/**
|
|
|
* div64_u64_rem - unsigned 64bit divide with 64bit divisor and remainder
|
|
* div64_u64_rem - unsigned 64bit divide with 64bit divisor and remainder
|
|
|
|
|
+ * @dividend: unsigned 64bit dividend
|
|
|
|
|
+ * @divisor: unsigned 64bit divisor
|
|
|
|
|
+ * @remainder: pointer to unsigned 64bit remainder
|
|
|
|
|
+ *
|
|
|
|
|
+ * Return: sets ``*remainder``, then returns dividend / divisor
|
|
|
*/
|
|
*/
|
|
|
static inline u64 div64_u64_rem(u64 dividend, u64 divisor, u64 *remainder)
|
|
static inline u64 div64_u64_rem(u64 dividend, u64 divisor, u64 *remainder)
|
|
|
{
|
|
{
|
|
@@ -41,6 +56,10 @@ static inline u64 div64_u64_rem(u64 dividend, u64 divisor, u64 *remainder)
|
|
|
|
|
|
|
|
/**
|
|
/**
|
|
|
* div64_u64 - unsigned 64bit divide with 64bit divisor
|
|
* div64_u64 - unsigned 64bit divide with 64bit divisor
|
|
|
|
|
+ * @dividend: unsigned 64bit dividend
|
|
|
|
|
+ * @divisor: unsigned 64bit divisor
|
|
|
|
|
+ *
|
|
|
|
|
+ * Return: dividend / divisor
|
|
|
*/
|
|
*/
|
|
|
static inline u64 div64_u64(u64 dividend, u64 divisor)
|
|
static inline u64 div64_u64(u64 dividend, u64 divisor)
|
|
|
{
|
|
{
|
|
@@ -49,6 +68,10 @@ static inline u64 div64_u64(u64 dividend, u64 divisor)
|
|
|
|
|
|
|
|
/**
|
|
/**
|
|
|
* div64_s64 - signed 64bit divide with 64bit divisor
|
|
* div64_s64 - signed 64bit divide with 64bit divisor
|
|
|
|
|
+ * @dividend: signed 64bit dividend
|
|
|
|
|
+ * @divisor: signed 64bit divisor
|
|
|
|
|
+ *
|
|
|
|
|
+ * Return: dividend / divisor
|
|
|
*/
|
|
*/
|
|
|
static inline s64 div64_s64(s64 dividend, s64 divisor)
|
|
static inline s64 div64_s64(s64 dividend, s64 divisor)
|
|
|
{
|
|
{
|
|
@@ -88,6 +111,8 @@ extern s64 div64_s64(s64 dividend, s64 divisor);
|
|
|
|
|
|
|
|
/**
|
|
/**
|
|
|
* div_u64 - unsigned 64bit divide with 32bit divisor
|
|
* div_u64 - unsigned 64bit divide with 32bit divisor
|
|
|
|
|
+ * @dividend: unsigned 64bit dividend
|
|
|
|
|
+ * @divisor: unsigned 32bit divisor
|
|
|
*
|
|
*
|
|
|
* This is the most common 64bit divide and should be used if possible,
|
|
* This is the most common 64bit divide and should be used if possible,
|
|
|
* as many 32bit archs can optimize this variant better than a full 64bit
|
|
* as many 32bit archs can optimize this variant better than a full 64bit
|
|
@@ -103,6 +128,8 @@ static inline u64 div_u64(u64 dividend, u32 divisor)
|
|
|
|
|
|
|
|
/**
|
|
/**
|
|
|
* div_s64 - signed 64bit divide with 32bit divisor
|
|
* div_s64 - signed 64bit divide with 32bit divisor
|
|
|
|
|
+ * @dividend: signed 64bit dividend
|
|
|
|
|
+ * @divisor: signed 32bit divisor
|
|
|
*/
|
|
*/
|
|
|
#ifndef div_s64
|
|
#ifndef div_s64
|
|
|
static inline s64 div_s64(s64 dividend, s32 divisor)
|
|
static inline s64 div_s64(s64 dividend, s32 divisor)
|