[U-Boot] [PATCH v2] arm: add __ilog2 function
Rob Herring
robherring2 at gmail.com
Tue Jul 5 16:38:51 CEST 2011
From: Rob Herring <rob.herring at calxeda.com>
Add __ilog2 function for ARM. Needed for ahci.c
Signed-off-by: Rob Herring <rob.herring at calxeda.com>
Cc: Albert ARIBAUD <albert.aribaud at free.fr>
---
Performance here is not critical, so I'm changing this to use the C
version.
v2 changes:
- Change __inline__ to inline.
- Use generic_fls function instead of clz asm so it works with ARMv4.
arch/arm/include/asm/bitops.h | 5 +++++
1 files changed, 5 insertions(+), 0 deletions(-)
diff --git a/arch/arm/include/asm/bitops.h b/arch/arm/include/asm/bitops.h
index 270f163..879e20e 100644
--- a/arch/arm/include/asm/bitops.h
+++ b/arch/arm/include/asm/bitops.h
@@ -106,6 +106,11 @@ static inline int test_bit(int nr, const void * addr)
return ((unsigned char *) addr)[nr >> 3] & (1U << (nr & 7));
}
+static inline int __ilog2(unsigned int x)
+{
+ return generic_fls(x) - 1;
+}
+
/*
* ffz = Find First Zero in word. Undefined if no zero exists,
* so code should check against ~0UL first..
--
1.7.4.1
More information about the U-Boot
mailing list