git.openpandora.org
/
pandora-kernel.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
[SCSI] Merge up to linux-2.6 head
[pandora-kernel.git]
/
include
/
linux
/
log2.h
diff --git
a/include/linux/log2.h
b/include/linux/log2.h
index
d02e1a5
..
1b8a2c1
100644
(file)
--- a/
include/linux/log2.h
+++ b/
include/linux/log2.h
@@
-43,6
+43,17
@@
int __ilog2_u64(u64 n)
}
#endif
}
#endif
+/*
+ * Determine whether some value is a power of two, where zero is
+ * *not* considered a power of two.
+ */
+
+static inline __attribute__((const))
+bool is_power_of_2(unsigned long n)
+{
+ return (n != 0 && ((n & (n - 1)) == 0));
+}
+
/*
* round up to nearest power of two
*/
/*
* round up to nearest power of two
*/
@@
-141,14
+152,14
@@
unsigned long __roundup_pow_of_two(unsigned long n)
* roundup_pow_of_two - round the given value up to nearest power of two
* @n - parameter
*
* roundup_pow_of_two - round the given value up to nearest power of two
* @n - parameter
*
- * round the given
b
alue up to the nearest power of two
+ * round the given
v
alue up to the nearest power of two
* - the result is undefined when n == 0
* - this can be used to initialise global variables from constant data
*/
#define roundup_pow_of_two(n) \
( \
__builtin_constant_p(n) ? ( \
* - the result is undefined when n == 0
* - this can be used to initialise global variables from constant data
*/
#define roundup_pow_of_two(n) \
( \
__builtin_constant_p(n) ? ( \
- (n == 1) ?
0
: \
+ (n == 1) ?
1
: \
(1UL << (ilog2((n) - 1) + 1)) \
) : \
__roundup_pow_of_two(n) \
(1UL << (ilog2((n) - 1) + 1)) \
) : \
__roundup_pow_of_two(n) \