summaryrefslogtreecommitdiff
path: root/lib/lcm.c
diff options
context:
space:
mode:
authorTakashi Iwai <tiwai@suse.de>2010-04-16 17:20:06 +0400
committerTakashi Iwai <tiwai@suse.de>2010-04-16 17:20:06 +0400
commitcf0dbba515415bb19b11f9323d5f7bebd7f24fd6 (patch)
tree375bbc1ade1a92acd6493d224dd701fd7f209014 /lib/lcm.c
parent1cff399ecd9125d8e6a634a1957be1aeb3195a12 (diff)
parent0340c7dccd80d8706c636e030a6ebbddbddca690 (diff)
downloadlinux-cf0dbba515415bb19b11f9323d5f7bebd7f24fd6.tar.xz
Merge remote branch 'alsa/devel' into topic/misc
Diffstat (limited to 'lib/lcm.c')
-rw-r--r--lib/lcm.c15
1 files changed, 15 insertions, 0 deletions
diff --git a/lib/lcm.c b/lib/lcm.c
new file mode 100644
index 000000000000..157cd88a6ffc
--- /dev/null
+++ b/lib/lcm.c
@@ -0,0 +1,15 @@
+#include <linux/kernel.h>
+#include <linux/gcd.h>
+#include <linux/module.h>
+
+/* Lowest common multiple */
+unsigned long lcm(unsigned long a, unsigned long b)
+{
+ if (a && b)
+ return (a * b) / gcd(a, b);
+ else if (b)
+ return b;
+
+ return a;
+}
+EXPORT_SYMBOL_GPL(lcm);