diff options
-rw-r--r-- | include/linux/bitops.h | 7 | ||||
-rw-r--r-- | include/linux/kernel.h | 5 |
2 files changed, 10 insertions, 2 deletions
diff --git a/include/linux/bitops.h b/include/linux/bitops.h index 208650b1ad3a..f17525a963d1 100644 --- a/include/linux/bitops.h +++ b/include/linux/bitops.h | |||
@@ -175,4 +175,11 @@ static inline __u32 ror32(__u32 word, unsigned int shift) | |||
175 | return (word >> shift) | (word << (32 - shift)); | 175 | return (word >> shift) | (word << (32 - shift)); |
176 | } | 176 | } |
177 | 177 | ||
178 | static inline unsigned fls_long(unsigned long l) | ||
179 | { | ||
180 | if (sizeof(l) == 4) | ||
181 | return fls(l); | ||
182 | return fls64(l); | ||
183 | } | ||
184 | |||
178 | #endif | 185 | #endif |
diff --git a/include/linux/kernel.h b/include/linux/kernel.h index bb6e7ddee2fd..03d6cfaa5b8a 100644 --- a/include/linux/kernel.h +++ b/include/linux/kernel.h | |||
@@ -154,9 +154,10 @@ static inline int __attribute_pure__ long_log2(unsigned long x) | |||
154 | return r; | 154 | return r; |
155 | } | 155 | } |
156 | 156 | ||
157 | static inline unsigned long __attribute_const__ roundup_pow_of_two(unsigned long x) | 157 | static inline unsigned long |
158 | __attribute_const__ roundup_pow_of_two(unsigned long x) | ||
158 | { | 159 | { |
159 | return (1UL << fls(x - 1)); | 160 | return 1UL << fls_long(x - 1); |
160 | } | 161 | } |
161 | 162 | ||
162 | extern int printk_ratelimit(void); | 163 | extern int printk_ratelimit(void); |