mm/early_ioremap: use offset_in_page macro
authorAlexander Kuleshov <kuleshovmail@gmail.com>
Fri, 6 Nov 2015 02:46:40 +0000 (18:46 -0800)
committerLinus Torvalds <torvalds@linux-foundation.org>
Fri, 6 Nov 2015 03:34:48 +0000 (19:34 -0800)
linux/mm.h provides offset_in_page() macro.  Let's use already predefined
macro instead of (addr & ~PAGE_MASK).

Signed-off-by: Alexander Kuleshov <kuleshovmail@gmail.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
mm/early_ioremap.c

index 17ae14b..6d5717b 100644 (file)
@@ -126,7 +126,7 @@ __early_ioremap(resource_size_t phys_addr, unsigned long size, pgprot_t prot)
        /*
         * Mappings have to be page-aligned
         */
-       offset = phys_addr & ~PAGE_MASK;
+       offset = offset_in_page(phys_addr);
        phys_addr &= PAGE_MASK;
        size = PAGE_ALIGN(last_addr + 1) - phys_addr;
 
@@ -189,7 +189,7 @@ void __init early_iounmap(void __iomem *addr, unsigned long size)
        if (WARN_ON(virt_addr < fix_to_virt(FIX_BTMAP_BEGIN)))
                return;
 
-       offset = virt_addr & ~PAGE_MASK;
+       offset = offset_in_page(virt_addr);
        nrpages = PAGE_ALIGN(offset + size) >> PAGE_SHIFT;
 
        idx = FIX_BTMAP_BEGIN - NR_FIX_BTMAPS*slot;
@@ -234,7 +234,7 @@ void __init copy_from_early_mem(void *dest, phys_addr_t src, unsigned long size)
        char *p;
 
        while (size) {
-               slop = src & ~PAGE_MASK;
+               slop = offset_in_page(src);
                clen = size;
                if (clen > MAX_MAP_CHUNK - slop)
                        clen = MAX_MAP_CHUNK - slop;