xref: /openbmc/linux/include/asm-generic/page.h (revision 64c70b1c)
1 #ifndef _ASM_GENERIC_PAGE_H
2 #define _ASM_GENERIC_PAGE_H
3 
4 #ifdef __KERNEL__
5 #ifndef __ASSEMBLY__
6 
7 #include <linux/compiler.h>
8 
9 /* Pure 2^n version of get_order */
10 static __inline__ __attribute_const__ int get_order(unsigned long size)
11 {
12 	int order;
13 
14 	size = (size - 1) >> (PAGE_SHIFT - 1);
15 	order = -1;
16 	do {
17 		size >>= 1;
18 		order++;
19 	} while (size);
20 	return order;
21 }
22 
23 #endif	/* __ASSEMBLY__ */
24 #endif	/* __KERNEL__ */
25 
26 #endif	/* _ASM_GENERIC_PAGE_H */
27