[ARM] 3032/1: sparse: complains about generic_fls() prototype in asm-arm/bitops.h
authorIan Campbell <icampbell@arcom.com>
Wed, 26 Oct 2005 14:04:21 +0000 (15:04 +0100)
committerRussell King <rmk+kernel@arm.linux.org.uk>
Wed, 26 Oct 2005 14:04:21 +0000 (15:04 +0100)
Patch from Ian Campbell

Sparse complains about the definition of generic_fls in asm-arm/bitops.h:
  CHECK   /home/icampbell/devel/kernel/2.6/arch/arm/mach-pxa/viper.c
include2/asm/bitops.h:350:34: error: marked inline, but without a definition

The definition is unnecessary since linux/bitops.h defines generic_fls before including asm/bitops.h and asm/bitops.h should not be included directly. There are still some places where asm/bitops.h is directly included, but I think that code should be fixed. I was a little wary of the patch for this reason but lubbock, mainstone and assabet all build OK and so do my in house boards...

ARM is the only arch with the generic_fls prototype in this way.

Signed-off-by: Ian Campbell <icampbell@arcom.com>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
include/asm-arm/bitops.h

index aad7aad026b319d7390ab3bf974f61d25c1ba5e6..e007dd990da568318a73765bd68767ad7f705b36 100644 (file)
@@ -347,7 +347,6 @@ static inline unsigned long __ffs(unsigned long word)
  * the clz instruction for much better code efficiency.
  */
 
-static __inline__ int generic_fls(int x);
 #define fls(x) \
        ( __builtin_constant_p(x) ? generic_fls(x) : \
          ({ int __r; asm("clz\t%0, %1" : "=r"(__r) : "r"(x) : "cc"); 32-__r; }) )