UPSTREAM: ARM: dts: rockchip: remove broken-cd from emmc and sdio
[firefly-linux-kernel-4.4.55.git] / mm / early_ioremap.c
index 23f744d77ce0022dbb46bd0232904851094f75e6..6d5717bd7197ba0428c32941df27d90da04264b5 100644 (file)
@@ -15,6 +15,7 @@
 #include <linux/mm.h>
 #include <linux/vmalloc.h>
 #include <asm/fixmap.h>
+#include <asm/early_ioremap.h>
 
 #ifdef CONFIG_MMU
 static int early_ioremap_debug __initdata;
@@ -125,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;
 
@@ -188,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;
@@ -233,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;