diff options
author | 2009-09-08 17:55:21 -0700 | |
---|---|---|
committer | 2009-09-08 17:55:21 -0700 | |
commit | bbb20089a3275a19e475dbc21320c3742e3ca423 (patch) | |
tree | 216fdc1cbef450ca688135c5b8969169482d9a48 /lib/gcd.c | |
parent | Merge branch 'iop-raid6' into async-tx-next (diff) | |
parent | dmaengine: Move all map_sg/unmap_sg for slave channel to its client (diff) | |
download | linux-dev-bbb20089a3275a19e475dbc21320c3742e3ca423.tar.xz linux-dev-bbb20089a3275a19e475dbc21320c3742e3ca423.zip |
Merge branch 'dmaengine' into async-tx-next
Conflicts:
crypto/async_tx/async_xor.c
drivers/dma/ioat/dma_v2.h
drivers/dma/ioat/pci.c
drivers/md/raid5.c
Diffstat (limited to 'lib/gcd.c')
-rw-r--r-- | lib/gcd.c | 18 |
1 files changed, 18 insertions, 0 deletions
diff --git a/lib/gcd.c b/lib/gcd.c new file mode 100644 index 000000000000..f879033d9822 --- /dev/null +++ b/lib/gcd.c @@ -0,0 +1,18 @@ +#include <linux/kernel.h> +#include <linux/gcd.h> +#include <linux/module.h> + +/* Greatest common divisor */ +unsigned long gcd(unsigned long a, unsigned long b) +{ + unsigned long r; + + if (a < b) + swap(a, b); + while ((r = a % b) != 0) { + a = b; + b = r; + } + return b; +} +EXPORT_SYMBOL_GPL(gcd); |