Define compatible gcd() only when linux/gcd. doesn't exist. CONFIG_GCD isn't defined for 2.6.31/32, so it can'be used reliablty as the compile condition.
Reported-by: Ozan Çağlayan ozan@pardus.org.tr Signed-off-by: Takashi Iwai tiwai@suse.de --- acore/wrappers.c | 3 +++ include/gcd_compat.h | 1 + 2 files changed, 4 insertions(+), 0 deletions(-)
diff --git a/acore/wrappers.c b/acore/wrappers.c index e9478bd..68750a7 100644 --- a/acore/wrappers.c +++ b/acore/wrappers.c @@ -340,6 +340,8 @@ EXPORT_SYMBOL(compat_skip_spaces); #endif /* < 2.6.33 */
#ifndef CONFIG_GCD +#include <linux/gcd.h> +#ifdef CONFIG_SND_COMPAT_GCD /* Greatest common divisor */ unsigned long gcd(unsigned long a, unsigned long b) { @@ -356,4 +358,5 @@ unsigned long gcd(unsigned long a, unsigned long b) return b; } EXPORT_SYMBOL(gcd); +#endif /* CONFIG_SND_COMPAT_GCD */ #endif /* !CONFIG_GCD */ diff --git a/include/gcd_compat.h b/include/gcd_compat.h index beeda05..daedab1 100644 --- a/include/gcd_compat.h +++ b/include/gcd_compat.h @@ -1,6 +1,7 @@ #ifndef _LINUX_GCD_H #define _LINUX_GCD_H
+#define CONFIG_SND_COMPAT_GCD unsigned long gcd(unsigned long a, unsigned long b);
#endif /* _LINUX_GCD_H */