]> pilppa.org Git - linux-2.6-omap-h63xx.git/blobdiff - arch/arm/mm/ioremap.c
[ARM] 4191/1: Remove redundant __flush_dcache_page() function prototype
[linux-2.6-omap-h63xx.git] / arch / arm / mm / ioremap.c
index 3bb3951920bc9809b31ee19e184cc6e3475deea1..0ac615c0f7987f81ccc7aa3a16c8ace113f65192 100644 (file)
@@ -292,13 +292,16 @@ __ioremap_pfn(unsigned long pfn, unsigned long offset, size_t size,
        if (pfn >= 0x100000 && (__pfn_to_phys(pfn) & ~SUPERSECTION_MASK))
                return NULL;
 
+       size = PAGE_ALIGN(size);
+
        area = get_vm_area(size, VM_IOREMAP);
        if (!area)
                return NULL;
        addr = (unsigned long)area->addr;
 
 #ifndef CONFIG_SMP
-       if ((((cpu_architecture() >= CPU_ARCH_ARMv6) && (get_cr() & CR_XP)) ||
+       if (DOMAIN_IO == 0 &&
+           (((cpu_architecture() >= CPU_ARCH_ARMv6) && (get_cr() & CR_XP)) ||
               cpu_is_xsc3()) &&
               !((__pfn_to_phys(pfn) | size | addr) & ~SUPERSECTION_MASK)) {
                area->flags |= VM_ARM_SECTION_MAPPING;