summaryrefslogtreecommitdiffstats
path: root/include/asm-sh/page.h
diff options
context:
space:
mode:
Diffstat (limited to 'include/asm-sh/page.h')
-rw-r--r--include/asm-sh/page.h15
1 files changed, 15 insertions, 0 deletions
diff --git a/include/asm-sh/page.h b/include/asm-sh/page.h
index 867c07122..24a374d4b 100644
--- a/include/asm-sh/page.h
+++ b/include/asm-sh/page.h
@@ -76,6 +76,21 @@ extern int console_loglevel;
#define PAGE_BUG(page) do { \
BUG(); \
} while (0)
+
+/* Pure 2^n version of get_order */
+extern __inline__ 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
#endif /* __KERNEL__ */