linux-mips
[Top] [All Lists]

[PATCH] Fix __fls for non mips32/mips64 cpus

To: linux-mips@linux-mips.org
Subject: [PATCH] Fix __fls for non mips32/mips64 cpus
From: Thomas Bogendoerfer <tsbogend@alpha.franken.de>
Date: Sun, 4 May 2008 00:25:02 +0200 (CEST)
Cc: ralf@linux-mips.org
Original-recipient: rfc822;linux-mips@linux-mips.org
Sender: linux-mips-bounce@linux-mips.org
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>
---

 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>

<Prev in Thread] Current Thread [Next in Thread>