On a 32 bit ARM architecture with LPAE extension physical addresses cannot fit into unsigned long variable.
This patch fixes the ioremap_page, __map_ioremap_pfn_caller, __arm_ioremap and __arm_ioremap_exec functions. Signed-off-by: Vitaly Andrianov <vita...@ti.com> Acked-by: Murali Karicheri <m-kariche...@ti.com> --- arch/arm/include/asm/mach/map.h | 2 +- arch/arm/mm/ioremap.c | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/arch/arm/include/asm/mach/map.h b/arch/arm/include/asm/mach/map.h index 2fe141f..836f006 100644 --- a/arch/arm/include/asm/mach/map.h +++ b/arch/arm/include/asm/mach/map.h @@ -52,7 +52,7 @@ extern const struct mem_type *get_mem_type(unsigned int type); /* * external interface to remap single page with appropriate type */ -extern int ioremap_page(unsigned long virt, unsigned long phys, +extern int ioremap_page(unsigned long virt, phys_addr_t phys, const struct mem_type *mtype); #else #define iotable_init(map,num) do { } while (0) diff --git a/arch/arm/mm/ioremap.c b/arch/arm/mm/ioremap.c index f123d6e..e0fe50f 100644 --- a/arch/arm/mm/ioremap.c +++ b/arch/arm/mm/ioremap.c @@ -103,7 +103,7 @@ void __init add_static_vm_early(struct static_vm *svm) list_add_tail(&svm->list, &curr_svm->list); } -int ioremap_page(unsigned long virt, unsigned long phys, +int ioremap_page(unsigned long virt, phys_addr_t phys, const struct mem_type *mtype) { return ioremap_page_range(virt, virt + PAGE_SIZE, phys, -- 1.9.1 -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/