/include/asm-generic/getorder.h
C Header | 24 lines | 17 code | 6 blank | 1 comment | 1 complexity | 388765f460d789656c2cf21b86af4200 MD5 | raw file
Possible License(s): LGPL-2.0, AGPL-1.0, GPL-2.0
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 */ 9static inline __attribute_const__ int get_order(unsigned long size) 10{ 11 int order; 12 13 size = (size - 1) >> (PAGE_SHIFT - 1); 14 order = -1; 15 do { 16 size >>= 1; 17 order++; 18 } while (size); 19 return order; 20} 21 22#endif /* __ASSEMBLY__ */ 23 24#endif /* __ASM_GENERIC_GETORDER_H */