From 4f105dd77466b8504a0b3e78d7ffd6aa6ecd9079 Mon Sep 17 00:00:00 2001 From: Maxime Ripard Date: Tue, 26 Feb 2013 17:51:13 +0100 Subject: log2: Fix declaration of __roundup_pow_of_two The roundup_pow_of_two function is making use of __roundup_pow_of_two when the call to __builtin_constant_p fails, which is not implemented in barebox. Copied the code from Linux log2.h header. Signed-off-by: Maxime Ripard Signed-off-by: Sascha Hauer --- include/linux/log2.h | 9 +++++++++ 1 file changed, 9 insertions(+) (limited to 'include/linux/log2.h') diff --git a/include/linux/log2.h b/include/linux/log2.h index 389043a93c..d9913f06bd 100644 --- a/include/linux/log2.h +++ b/include/linux/log2.h @@ -54,6 +54,15 @@ bool is_power_of_2(unsigned long n) return (n != 0 && ((n & (n - 1)) == 0)); } +/* + * round up to nearest power of two + */ +static inline __attribute__((const)) +unsigned long __roundup_pow_of_two(unsigned long n) +{ + return 1UL << fls(n - 1); +} + /** * ilog2 - log of base 2 of 32-bit or a 64-bit unsigned value * @n - parameter -- cgit v1.2.3