Re: [PATCH 1/9] kernel: export sound/core/pcm_timer.c gcdimplementation

From: Andrew Morton
Date: Tue Jun 02 2009 - 00:51:21 EST


On Mon, 1 Jun 2009 13:57:09 +0200 Florian Fainelli <florian@xxxxxxxxxxx> wrote:

> This patch exports the gcd implementation from
> sound/core/pcm_timer.c into include/linux/kernel.h.
> AR7 uses it in its clock routines.
>
> ...
>
> diff --git a/include/linux/kernel.h b/include/linux/kernel.h
> index 883cd44..878a27a 100644
> --- a/include/linux/kernel.h
> +++ b/include/linux/kernel.h
> @@ -147,6 +147,22 @@ extern int _cond_resched(void);
> (__x < 0) ? -__x : __x; \
> })
>
> +/* Greatest common divisor */
> +static inline unsigned long gcd(unsigned long a, unsigned long b)
> +{
> + unsigned long r;
> + if (a < b) {
> + r = a;
> + a = b;
> + b = r;
> + }
> + while ((r = a % b) != 0) {
> + a = b;
> + b = r;
> + }
> + return b;
> +}

a) the name's a bit sucky. Is there some convention for this name?

b) It looks too large to be inlined. lib/gdc.c?

b) there's an implementation of gcd() in
net/netfilter/ipvs/ip_vs_wrr.c. I expect that this patch broke the
build.


--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/