drivers/usb/class/audio.c:404: warning: static declaration of 'abs' follows non-static declaration It seems that we have a definition of abs() in kernel.h and no implementation. --- 25-akpm/drivers/usb/class/audio.c | 14 -------------- 25-akpm/include/linux/kernel.h | 8 +++++++- 2 files changed, 7 insertions(+), 15 deletions(-) diff -puN include/linux/kernel.h~abs-cleanup include/linux/kernel.h --- 25/include/linux/kernel.h~abs-cleanup 2004-05-12 21:32:41.331620952 -0700 +++ 25-akpm/include/linux/kernel.h 2004-05-12 21:33:26.609737632 -0700 @@ -61,7 +61,6 @@ asmlinkage NORET_TYPE void do_exit(long ATTRIB_NORET; NORET_TYPE void complete_and_exit(struct completion *, long) ATTRIB_NORET; -extern int abs(int); extern unsigned long simple_strtoul(const char *,char **,unsigned int); extern long simple_strtol(const char *,char **,unsigned int); extern unsigned long long simple_strtoull(const char *,char **,unsigned int); @@ -108,6 +107,13 @@ static inline void console_verbose(void) console_loglevel = 15; } +static inline int abs(int x) +{ + if (x < 0) + return -x; + return x; +} + extern void bust_spinlocks(int yes); extern int oops_in_progress; /* If set, an oops, panic(), BUG() or die() is in progress */ extern int panic_on_oops; diff -puN drivers/usb/class/audio.c~abs-cleanup drivers/usb/class/audio.c --- 25/drivers/usb/class/audio.c~abs-cleanup 2004-05-12 21:32:41.346618672 -0700 +++ 25-akpm/drivers/usb/class/audio.c 2004-05-12 21:34:15.658281120 -0700 @@ -212,9 +212,6 @@ #define dprintk(x) -#undef abs -extern int abs(int __x) __attribute_const__; /* Shut up warning */ - /* --------------------------------------------------------------------- */ /* @@ -398,17 +395,6 @@ struct usb_audio_state { /* --------------------------------------------------------------------- */ -/* prevent picking up a bogus abs macro */ -#undef abs -static inline int abs(int x) -{ - if (x < 0) - return -x; - return x; -} - -/* --------------------------------------------------------------------- */ - static inline unsigned ld2(unsigned int x) { unsigned r = 0; _