summaryrefslogtreecommitdiffstats
path: root/include/asm-generic/getorder.h
diff options
context:
space:
mode:
authorArnd Bergmann <arnd@arndb.de>2009-05-14 00:56:30 +0200
committerArnd Bergmann <arnd@klappe2.(none)>2009-06-11 21:02:17 +0200
commit5b17e1cd8928ae65932758ce6478ac6d3e9a86b2 (patch)
tree065b3adc60a74ce0b3e3cd0fc447b8688b6d0332 /include/asm-generic/getorder.h
parentasm-generic: rename atomic.h to atomic-long.h (diff)
downloadlinux-5b17e1cd8928ae65932758ce6478ac6d3e9a86b2.tar.xz
linux-5b17e1cd8928ae65932758ce6478ac6d3e9a86b2.zip
asm-generic: rename page.h and uaccess.h
The current asm-generic/page.h only contains the get_order function, and asm-generic/uaccess.h only implements unaligned accesses. This renames the file to getorder.h and uaccess-unaligned.h to make room for new page.h and uaccess.h file that will be usable by all simple (e.g. nommu) architectures. Signed-off-by: Remis Lima Baima <remis.developer@googlemail.com> Signed-off-by: Arnd Bergmann <arnd@arndb.de>
Diffstat (limited to 'include/asm-generic/getorder.h')
-rw-r--r--include/asm-generic/getorder.h24
1 files changed, 24 insertions, 0 deletions
diff --git a/include/asm-generic/getorder.h b/include/asm-generic/getorder.h
new file mode 100644
index 000000000000..67e7245dc9b3
--- /dev/null
+++ b/include/asm-generic/getorder.h
@@ -0,0 +1,24 @@
+#ifndef __ASM_GENERIC_GETORDER_H
+#define __ASM_GENERIC_GETORDER_H
+
+#ifndef __ASSEMBLY__
+
+#include <linux/compiler.h>
+
+/* Pure 2^n version of get_order */
+static inline __attribute_const__ int get_order(unsigned long size)
+{
+ int order;
+
+ size = (size - 1) >> (PAGE_SHIFT - 1);
+ order = -1;
+ do {
+ size >>= 1;
+ order++;
+ } while (size);
+ return order;
+}
+
+#endif /* __ASSEMBLY__ */
+
+#endif /* __ASM_GENERIC_GETORDER_H */