openrisc: simplify pte_alloc_one_kernel()
authorMike Rapoport <[email protected]>
Fri, 8 Mar 2019 00:31:01 +0000 (16:31 -0800)
committerLinus Torvalds <[email protected]>
Fri, 8 Mar 2019 02:32:03 +0000 (18:32 -0800)
The pte_alloc_one_kernel() function allocates a page using
__get_free_page(GFP_KERNEL) when mm initialization is complete and
memblock_phys_alloc() on the earlier stages.  The physical address of
the page allocated with memblock_phys_alloc() is converted to the
virtual address and in the both cases the allocated page is cleared
using clear_page().

The code is simplified by replacing __get_free_page() with
get_zeroed_page() and by replacing memblock_phys_alloc() with
memblock_alloc().

Link: http://lkml.kernel.org/r/[email protected]
Signed-off-by: Mike Rapoport <[email protected]>
Acked-by: Stafford Horne <[email protected]>
Cc: Arnd Bergmann <[email protected]>
Cc: Benjamin Herrenschmidt <[email protected]>
Cc: Christoph Hellwig <[email protected]>
Cc: "David S. Miller" <[email protected]>
Cc: Greentime Hu <[email protected]>
Cc: Guan Xuetao <[email protected]>
Cc: Heiko Carstens <[email protected]>
Cc: Jonas Bonn <[email protected]>
Cc: Mark Salter <[email protected]>
Cc: Martin Schwidefsky <[email protected]>
Cc: Michael Ellerman <[email protected]>
Cc: Michal Hocko <[email protected]>
Cc: Michal Simek <[email protected]>
Cc: Michal Simek <[email protected]>
Cc: Paul Mackerras <[email protected]>
Cc: Rich Felker <[email protected]>
Cc: Russell King <[email protected]>
Cc: Stefan Kristiansson <[email protected]>
Cc: Vincent Chen <[email protected]>
Cc: Yoshinori Sato <[email protected]>
Signed-off-by: Andrew Morton <[email protected]>
Signed-off-by: Linus Torvalds <[email protected]>
arch/openrisc/mm/ioremap.c

index 270d1c9bc0d66966cc1aa64e7f63d0d67cfe5c8f..051bcb4fefd389dad1ab20ae23d6ab72fe89f472 100644 (file)
@@ -122,13 +122,10 @@ pte_t __ref *pte_alloc_one_kernel(struct mm_struct *mm)
 {
        pte_t *pte;
 
-       if (likely(mem_init_done)) {
-               pte = (pte_t *) __get_free_page(GFP_KERNEL);
-       } else {
-               pte = (pte_t *) __va(memblock_phys_alloc(PAGE_SIZE, PAGE_SIZE));
-       }
+       if (likely(mem_init_done))
+               pte = (pte_t *)get_zeroed_page(GFP_KERNEL);
+       else
+               pte = memblock_alloc(PAGE_SIZE, PAGE_SIZE);
 
-       if (pte)
-               clear_page(pte);
        return pte;
 }