PageRenderTime 70ms CodeModel.GetById 68ms app.highlight 0ms RepoModel.GetById 1ms app.codeStats 0ms

/include/asm-generic/getorder.h

https://bitbucket.org/cyanogenmod/android_kernel_asus_tf300t
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 */