diff options
Diffstat (limited to 'arch/sh/mm')
-rw-r--r-- | arch/sh/mm/consistent.c | 3 | ||||
-rw-r--r-- | arch/sh/mm/hugetlbpage.c | 12 | ||||
-rw-r--r-- | arch/sh/mm/init.c | 4 |
3 files changed, 3 insertions, 16 deletions
diff --git a/arch/sh/mm/consistent.c b/arch/sh/mm/consistent.c index df3a9e452cc5..ee73e30263af 100644 --- a/arch/sh/mm/consistent.c +++ b/arch/sh/mm/consistent.c | |||
@@ -23,6 +23,7 @@ void *consistent_alloc(gfp_t gfp, size_t size, dma_addr_t *handle) | |||
23 | page = alloc_pages(gfp, order); | 23 | page = alloc_pages(gfp, order); |
24 | if (!page) | 24 | if (!page) |
25 | return NULL; | 25 | return NULL; |
26 | split_page(page, order); | ||
26 | 27 | ||
27 | ret = page_address(page); | 28 | ret = page_address(page); |
28 | *handle = virt_to_phys(ret); | 29 | *handle = virt_to_phys(ret); |
@@ -37,8 +38,6 @@ void *consistent_alloc(gfp_t gfp, size_t size, dma_addr_t *handle) | |||
37 | end = page + (1 << order); | 38 | end = page + (1 << order); |
38 | 39 | ||
39 | while (++page < end) { | 40 | while (++page < end) { |
40 | set_page_count(page, 1); | ||
41 | |||
42 | /* Free any unused pages */ | 41 | /* Free any unused pages */ |
43 | if (page >= free) { | 42 | if (page >= free) { |
44 | __free_page(page); | 43 | __free_page(page); |
diff --git a/arch/sh/mm/hugetlbpage.c b/arch/sh/mm/hugetlbpage.c index 6b7a7688c98e..a3568fd51508 100644 --- a/arch/sh/mm/hugetlbpage.c +++ b/arch/sh/mm/hugetlbpage.c | |||
@@ -84,18 +84,6 @@ pte_t huge_ptep_get_and_clear(struct mm_struct *mm, unsigned long addr, | |||
84 | return entry; | 84 | return entry; |
85 | } | 85 | } |
86 | 86 | ||
87 | /* | ||
88 | * This function checks for proper alignment of input addr and len parameters. | ||
89 | */ | ||
90 | int is_aligned_hugepage_range(unsigned long addr, unsigned long len) | ||
91 | { | ||
92 | if (len & ~HPAGE_MASK) | ||
93 | return -EINVAL; | ||
94 | if (addr & ~HPAGE_MASK) | ||
95 | return -EINVAL; | ||
96 | return 0; | ||
97 | } | ||
98 | |||
99 | struct page *follow_huge_addr(struct mm_struct *mm, | 87 | struct page *follow_huge_addr(struct mm_struct *mm, |
100 | unsigned long address, int write) | 88 | unsigned long address, int write) |
101 | { | 89 | { |
diff --git a/arch/sh/mm/init.c b/arch/sh/mm/init.c index e342565f75fb..77b4a838fe10 100644 --- a/arch/sh/mm/init.c +++ b/arch/sh/mm/init.c | |||
@@ -273,7 +273,7 @@ void free_initmem(void) | |||
273 | addr = (unsigned long)(&__init_begin); | 273 | addr = (unsigned long)(&__init_begin); |
274 | for (; addr < (unsigned long)(&__init_end); addr += PAGE_SIZE) { | 274 | for (; addr < (unsigned long)(&__init_end); addr += PAGE_SIZE) { |
275 | ClearPageReserved(virt_to_page(addr)); | 275 | ClearPageReserved(virt_to_page(addr)); |
276 | set_page_count(virt_to_page(addr), 1); | 276 | init_page_count(virt_to_page(addr)); |
277 | free_page(addr); | 277 | free_page(addr); |
278 | totalram_pages++; | 278 | totalram_pages++; |
279 | } | 279 | } |
@@ -286,7 +286,7 @@ void free_initrd_mem(unsigned long start, unsigned long end) | |||
286 | unsigned long p; | 286 | unsigned long p; |
287 | for (p = start; p < end; p += PAGE_SIZE) { | 287 | for (p = start; p < end; p += PAGE_SIZE) { |
288 | ClearPageReserved(virt_to_page(p)); | 288 | ClearPageReserved(virt_to_page(p)); |
289 | set_page_count(virt_to_page(p), 1); | 289 | init_page_count(virt_to_page(p)); |
290 | free_page(p); | 290 | free_page(p); |
291 | totalram_pages++; | 291 | totalram_pages++; |
292 | } | 292 | } |