summaryrefslogtreecommitdiff
path: root/arch/sh/lib/div64-generic.c
diff options
context:
space:
mode:
Diffstat (limited to 'arch/sh/lib/div64-generic.c')
-rw-r--r--arch/sh/lib/div64-generic.c19
1 files changed, 19 insertions, 0 deletions
diff --git a/arch/sh/lib/div64-generic.c b/arch/sh/lib/div64-generic.c
new file mode 100644
index 000000000000..c02473afd581
--- /dev/null
+++ b/arch/sh/lib/div64-generic.c
@@ -0,0 +1,19 @@
+/*
+ * Generic __div64_32 wrapper for __xdiv64_32.
+ */
+
+#include <linux/types.h>
+
+extern u64 __xdiv64_32(u64 n, u32 d);
+
+u64 __div64_32(u64 *xp, u32 y)
+{
+ u64 rem;
+ u64 q = __xdiv64_32(*xp, y);
+
+ rem = *xp - q * y;
+ *xp = q;
+
+ return rem;
+}
+