[PATCH] ARM: mm: use phys_addr_t in __arm_ioremap functions

Vitaly Andrianov vitalya at ti.com
Wed Jan 14 09:22:34 PST 2015


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 <vitalya at ti.com>
Acked-by: Murali Karicheri <m-karicheri2 at 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




More information about the linux-arm-kernel mailing list