aboutsummaryrefslogtreecommitdiffstats
path: root/arch
diff options
context:
space:
mode:
authorCyril Chemparathy <cyril@ti.com>2012-09-12 14:05:58 -0400
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>2012-10-24 18:32:50 -0400
commit7e6735c3578e76c270a2797225a4214176ba13ef (patch)
treebc196f86d8699cd1eba80e8a3ebc1ba38e8a2bba /arch
parent6f0c0580b70c89094b3422ba81118c7b959c7556 (diff)
/dev/mem: use phys_addr_t for physical addresses
This patch fixes the /dev/mem driver to use phys_addr_t for physical addresses. This is required on PAE systems, especially those that run entirely out of >4G physical memory space. Signed-off-by: Cyril Chemparathy <cyril@ti.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Diffstat (limited to 'arch')
-rw-r--r--arch/arm/include/asm/io.h2
-rw-r--r--arch/arm/mm/mmap.c2
-rw-r--r--arch/ia64/include/asm/io.h2
-rw-r--r--arch/ia64/kernel/efi.c2
-rw-r--r--arch/sh/include/asm/io.h2
-rw-r--r--arch/sh/mm/mmap.c2
6 files changed, 6 insertions, 6 deletions
diff --git a/arch/arm/include/asm/io.h b/arch/arm/include/asm/io.h
index 35c1ed89b936..f52a93d98667 100644
--- a/arch/arm/include/asm/io.h
+++ b/arch/arm/include/asm/io.h
@@ -374,7 +374,7 @@ extern void pci_iounmap(struct pci_dev *dev, void __iomem *addr);
374 374
375#ifdef CONFIG_MMU 375#ifdef CONFIG_MMU
376#define ARCH_HAS_VALID_PHYS_ADDR_RANGE 376#define ARCH_HAS_VALID_PHYS_ADDR_RANGE
377extern int valid_phys_addr_range(unsigned long addr, size_t size); 377extern int valid_phys_addr_range(phys_addr_t addr, size_t size);
378extern int valid_mmap_phys_addr_range(unsigned long pfn, size_t size); 378extern int valid_mmap_phys_addr_range(unsigned long pfn, size_t size);
379extern int devmem_is_allowed(unsigned long pfn); 379extern int devmem_is_allowed(unsigned long pfn);
380#endif 380#endif
diff --git a/arch/arm/mm/mmap.c b/arch/arm/mm/mmap.c
index ce8cb1970d7a..89f2b7f7b042 100644
--- a/arch/arm/mm/mmap.c
+++ b/arch/arm/mm/mmap.c
@@ -279,7 +279,7 @@ void arch_pick_mmap_layout(struct mm_struct *mm)
279 * You really shouldn't be using read() or write() on /dev/mem. This 279 * You really shouldn't be using read() or write() on /dev/mem. This
280 * might go away in the future. 280 * might go away in the future.
281 */ 281 */
282int valid_phys_addr_range(unsigned long addr, size_t size) 282int valid_phys_addr_range(phys_addr_t addr, size_t size)
283{ 283{
284 if (addr < PHYS_OFFSET) 284 if (addr < PHYS_OFFSET)
285 return 0; 285 return 0;
diff --git a/arch/ia64/include/asm/io.h b/arch/ia64/include/asm/io.h
index 2c26321c28c3..74a7cc3293bc 100644
--- a/arch/ia64/include/asm/io.h
+++ b/arch/ia64/include/asm/io.h
@@ -90,7 +90,7 @@ phys_to_virt (unsigned long address)
90 90
91#define ARCH_HAS_VALID_PHYS_ADDR_RANGE 91#define ARCH_HAS_VALID_PHYS_ADDR_RANGE
92extern u64 kern_mem_attribute (unsigned long phys_addr, unsigned long size); 92extern u64 kern_mem_attribute (unsigned long phys_addr, unsigned long size);
93extern int valid_phys_addr_range (unsigned long addr, size_t count); /* efi.c */ 93extern int valid_phys_addr_range (phys_addr_t addr, size_t count); /* efi.c */
94extern int valid_mmap_phys_addr_range (unsigned long pfn, size_t count); 94extern int valid_mmap_phys_addr_range (unsigned long pfn, size_t count);
95 95
96/* 96/*
diff --git a/arch/ia64/kernel/efi.c b/arch/ia64/kernel/efi.c
index d37bbd48637f..f034563aeae5 100644
--- a/arch/ia64/kernel/efi.c
+++ b/arch/ia64/kernel/efi.c
@@ -870,7 +870,7 @@ kern_mem_attribute (unsigned long phys_addr, unsigned long size)
870EXPORT_SYMBOL(kern_mem_attribute); 870EXPORT_SYMBOL(kern_mem_attribute);
871 871
872int 872int
873valid_phys_addr_range (unsigned long phys_addr, unsigned long size) 873valid_phys_addr_range (phys_addr_t phys_addr, unsigned long size)
874{ 874{
875 u64 attr; 875 u64 attr;
876 876
diff --git a/arch/sh/include/asm/io.h b/arch/sh/include/asm/io.h
index 73a23f4617a3..629db2ad7916 100644
--- a/arch/sh/include/asm/io.h
+++ b/arch/sh/include/asm/io.h
@@ -382,7 +382,7 @@ static inline int iounmap_fixed(void __iomem *addr) { return -EINVAL; }
382#define xlate_dev_kmem_ptr(p) p 382#define xlate_dev_kmem_ptr(p) p
383 383
384#define ARCH_HAS_VALID_PHYS_ADDR_RANGE 384#define ARCH_HAS_VALID_PHYS_ADDR_RANGE
385int valid_phys_addr_range(unsigned long addr, size_t size); 385int valid_phys_addr_range(phys_addr_t addr, size_t size);
386int valid_mmap_phys_addr_range(unsigned long pfn, size_t size); 386int valid_mmap_phys_addr_range(unsigned long pfn, size_t size);
387 387
388#endif /* __KERNEL__ */ 388#endif /* __KERNEL__ */
diff --git a/arch/sh/mm/mmap.c b/arch/sh/mm/mmap.c
index afeb710ec5c3..80bf494ddbcb 100644
--- a/arch/sh/mm/mmap.c
+++ b/arch/sh/mm/mmap.c
@@ -238,7 +238,7 @@ bottomup:
238 * You really shouldn't be using read() or write() on /dev/mem. This 238 * You really shouldn't be using read() or write() on /dev/mem. This
239 * might go away in the future. 239 * might go away in the future.
240 */ 240 */
241int valid_phys_addr_range(unsigned long addr, size_t count) 241int valid_phys_addr_range(phys_addr_t addr, size_t count)
242{ 242{
243 if (addr < __MEMORY_START) 243 if (addr < __MEMORY_START)
244 return 0; 244 return 0;