diff options
| author | Stephen Rothwell <sfr@canb.auug.org.au> | 2005-09-03 18:54:30 -0400 |
|---|---|---|
| committer | Linus Torvalds <torvalds@evo.osdl.org> | 2005-09-05 03:05:39 -0400 |
| commit | fd4fd5aac1282825195c6816ed40a2a6d42db5bf (patch) | |
| tree | 5908cf4c88a7c9d69ea7bdc1c354d51b6ff47f86 /include/asm-parisc | |
| parent | 28ae55c98e4d16eac9a05a8a259d7763ef3aeb18 (diff) | |
[PATCH] mm: consolidate get_order
Someone mentioned that almost all the architectures used basically the same
implementation of get_order. This patch consolidates them into
asm-generic/page.h and includes that in the appropriate places. The
exceptions are ia64 and ppc which have their own (presumably optimised)
versions.
Signed-off-by: Stephen Rothwell <sfr@canb.auug.org.au>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Diffstat (limited to 'include/asm-parisc')
| -rw-r--r-- | include/asm-parisc/page.h | 16 |
1 files changed, 2 insertions, 14 deletions
diff --git a/include/asm-parisc/page.h b/include/asm-parisc/page.h index 4a12692f94b4..44eae9f8274d 100644 --- a/include/asm-parisc/page.h +++ b/include/asm-parisc/page.h | |||
| @@ -74,20 +74,6 @@ typedef struct { unsigned long pgprot; } pgprot_t; | |||
| 74 | #define __pgd(x) ((pgd_t) { (x) } ) | 74 | #define __pgd(x) ((pgd_t) { (x) } ) |
| 75 | #define __pgprot(x) ((pgprot_t) { (x) } ) | 75 | #define __pgprot(x) ((pgprot_t) { (x) } ) |
| 76 | 76 | ||
| 77 | /* Pure 2^n version of get_order */ | ||
| 78 | extern __inline__ int get_order(unsigned long size) | ||
| 79 | { | ||
| 80 | int order; | ||
| 81 | |||
| 82 | size = (size-1) >> (PAGE_SHIFT-1); | ||
| 83 | order = -1; | ||
| 84 | do { | ||
| 85 | size >>= 1; | ||
| 86 | order++; | ||
| 87 | } while (size); | ||
| 88 | return order; | ||
| 89 | } | ||
| 90 | |||
| 91 | typedef struct __physmem_range { | 77 | typedef struct __physmem_range { |
| 92 | unsigned long start_pfn; | 78 | unsigned long start_pfn; |
| 93 | unsigned long pages; /* PAGE_SIZE pages */ | 79 | unsigned long pages; /* PAGE_SIZE pages */ |
| @@ -159,4 +145,6 @@ extern int npmem_ranges; | |||
| 159 | 145 | ||
| 160 | #endif /* __KERNEL__ */ | 146 | #endif /* __KERNEL__ */ |
| 161 | 147 | ||
| 148 | #include <asm-generic/page.h> | ||
| 149 | |||
| 162 | #endif /* _PARISC_PAGE_H */ | 150 | #endif /* _PARISC_PAGE_H */ |
