diff options
author | Thomas Bogendoerfer <tsbogend@alpha.franken.de> | 2008-05-04 00:25:02 +0200 |
---|---|---|
committer | Ralf Baechle <ralf@linux-mips.org> | 2008-05-12 16:46:55 +0100 |
commit | fcd84f2fca49166dab2dba259eca6e633585763f (patch) | |
tree | ce9eb07612fbde779ad80a21ed58b5b300e09f70 | |
parent | 7ff83f21d23d17b63bbb984fee5d12aa5a8066b3 (diff) | |
download | op-kernel-dev-fcd84f2fca49166dab2dba259eca6e633585763f.zip op-kernel-dev-fcd84f2fca49166dab2dba259eca6e633585763f.tar.gz |
[MIPS] Fix __fls for non-MIPS32/MIPS64 cpus
Only MIPS32 and MIPS64 CPUs implement clz/dclz. Therefore don't export
__ilog2() for non MIPS32/MIPS64 cpus and use generic __fls bitop code for
these cpus.
Signed-off-by: Thomas Bogendoerfer <tsbogend@alpha.franken.de>
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
-rw-r--r-- | include/asm-mips/bitops.h | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/include/asm-mips/bitops.h b/include/asm-mips/bitops.h index c2bd126..5e1f590 100644 --- a/include/asm-mips/bitops.h +++ b/include/asm-mips/bitops.h @@ -558,6 +558,8 @@ static inline void __clear_bit_unlock(unsigned long nr, volatile unsigned long * __clear_bit(nr, addr); } +#if defined(CONFIG_CPU_MIPS32) || defined(CONFIG_CPU_MIPS64) + /* * Return the bit position (0..63) of the most significant 1 bit in a word * Returns -1 if no 1 bit exists @@ -596,8 +598,6 @@ static inline unsigned long __fls(unsigned long x) return __ilog2(x); } -#if defined(CONFIG_CPU_MIPS32) || defined(CONFIG_CPU_MIPS64) - /* * __ffs - find first bit in word. * @word: The word to search @@ -654,6 +654,7 @@ static inline int ffs(int word) #else #include <asm-generic/bitops/__ffs.h> +#include <asm-generic/bitops/__fls.h> #include <asm-generic/bitops/ffs.h> #include <asm-generic/bitops/fls.h> #include <asm-generic/bitops/fls64.h> |