Line data Source code
1 : #ifndef __ASM_GENERIC_GETORDER_H
2 : #define __ASM_GENERIC_GETORDER_H
3 :
4 : #ifndef __ASSEMBLY__
5 :
6 : #include <linux/compiler.h>
7 :
8 : /* Pure 2^n version of get_order */
9 : static inline __attribute_const__ int get_order(unsigned long size)
10 : {
11 11 : int order;
12 :
13 11 : size = (size - 1) >> (PAGE_SHIFT - 1);
14 11 : order = -1;
15 11 : do {
16 11 : size >>= 1;
17 11 : order++;
18 22 : } while (size);
19 11 : return order;
20 11 : }
21 :
22 : #endif /* __ASSEMBLY__ */
23 :
24 : #endif /* __ASM_GENERIC_GETORDER_H */
|