summaryrefslogtreecommitdiffstats
path: root/include/asm-mips/bitops.h
diff options
context:
space:
mode:
authorAlexander van Heukelum <heukelum@mailshack.com>2008-03-15 18:31:49 +0100
committerIngo Molnar <mingo@elte.hu>2008-04-26 19:21:16 +0200
commit56a6b1eb7bfb5ace0b5cb9c149f502fbd101b8ab (patch)
tree46d3781050938b0649fc89cd8e7f612cacb66984 /include/asm-mips/bitops.h
parentgeneric: introduce a generic __fls implementation (diff)
downloadlinux-56a6b1eb7bfb5ace0b5cb9c149f502fbd101b8ab.tar.xz
linux-56a6b1eb7bfb5ace0b5cb9c149f502fbd101b8ab.zip
generic: implement __fls on all 64-bit archs
Implement __fls on all 64-bit archs: alpha has an implementation of fls64. Added __fls(x) = fls64(x) - 1. ia64 has fls, but not __fls. Added __fls based on code of fls. mips and powerpc have __ilog2, which is the same as __fls. Added __fls = __ilog2. parisc, s390, sh and sparc64: Include generic __fls. x86_64 already has __fls. Signed-off-by: Alexander van Heukelum <heukelum@fastmail.fm> Signed-off-by: Ingo Molnar <mingo@elte.hu>
Diffstat (limited to 'include/asm-mips/bitops.h')
-rw-r--r--include/asm-mips/bitops.h5
1 files changed, 5 insertions, 0 deletions
diff --git a/include/asm-mips/bitops.h b/include/asm-mips/bitops.h
index ec75ce4cdb8c..c2bd126c3b4e 100644
--- a/include/asm-mips/bitops.h
+++ b/include/asm-mips/bitops.h
@@ -591,6 +591,11 @@ static inline int __ilog2(unsigned long x)
return 63 - lz;
}
+static inline unsigned long __fls(unsigned long x)
+{
+ return __ilog2(x);
+}
+
#if defined(CONFIG_CPU_MIPS32) || defined(CONFIG_CPU_MIPS64)
/*