diff --git a/include/asm-generic/div64.h b/include/asm-generic/div64.h
index 163f77999ea4e47639ea31ed30ec37bd1657cafe..3de84f64423f2f366df14a4718878e250322ef9d 100644
--- a/include/asm-generic/div64.h
+++ b/include/asm-generic/div64.h
@@ -25,6 +25,20 @@
 
 #if BITS_PER_LONG == 64
 
+/**
+ * do_div - returns 2 values: calculate remainder and update new dividend
+ * @n: pointer to uint64_t dividend (will be updated)
+ * @base: uint32_t divisor
+ *
+ * Summary:
+ * ``uint32_t remainder = *n % base;``
+ * ``*n = *n / base;``
+ *
+ * Return: (uint32_t)remainder
+ *
+ * NOTE: macro parameter @n is evaluated multiple times,
+ * beware of side effects!
+ */
 # define do_div(n,base) ({					\
 	uint32_t __base = (base);				\
 	uint32_t __rem;						\
diff --git a/lib/div64.c b/lib/div64.c
index 7f345259c32f1e6c96eb5787b3d489f436a03898..5660e8233293f59fe718194a31e1f5a5a96db76d 100644
--- a/lib/div64.c
+++ b/lib/div64.c
@@ -60,6 +60,12 @@ uint32_t __attribute__((weak)) __div64_32(uint64_t *n, uint32_t base)
 EXPORT_SYMBOL(__div64_32);
 #endif
 
+/**
+ * div_s64_rem - signed 64bit divide with 64bit divisor and remainder
+ * @dividend:	64bit dividend
+ * @divisor:	64bit divisor
+ * @remainder:  64bit remainder
+ */
 #ifndef div_s64_rem
 s64 div_s64_rem(s64 dividend, s32 divisor, s32 *remainder)
 {