Skip to content

Commit

Permalink
[MIPS] Fix __fls for non-MIPS32/MIPS64 cpus
Browse files Browse the repository at this point in the history
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>
  • Loading branch information
Thomas Bogendoerfer authored and Ralf Baechle committed May 12, 2008
1 parent 7ff83f2 commit fcd84f2
Showing 1 changed file with 3 additions and 2 deletions.
5 changes: 3 additions & 2 deletions include/asm-mips/bitops.h
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down Expand Up @@ -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
Expand Down Expand Up @@ -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>
Expand Down

0 comments on commit fcd84f2

Please sign in to comment.