arm64: Add cast for virt_to_pfn
authorLaura Abbott <labbott@redhat.com>
Tue, 10 Jan 2017 21:35:48 +0000 (13:35 -0800)
committerWill Deacon <will.deacon@arm.com>
Thu, 12 Jan 2017 15:05:39 +0000 (15:05 +0000)
virt_to_pfn lacks a cast at the top level. Don't rely on __virt_to_phys
and explicitly cast to unsigned long.

Reviewed-by: Mark Rutland <mark.rutland@arm.com>
Tested-by: Mark Rutland <mark.rutland@arm.com>
Signed-off-by: Laura Abbott <labbott@redhat.com>
Signed-off-by: Will Deacon <will.deacon@arm.com>
arch/arm64/include/asm/memory.h

index f80a8e403847a061887402d0ee728d394c9be364..cd6e3eec0efefde2bf2536696bab42a5702056b1 100644 (file)
@@ -209,7 +209,7 @@ static inline void *phys_to_virt(phys_addr_t x)
 #define __pa(x)                        __virt_to_phys((unsigned long)(x))
 #define __va(x)                        ((void *)__phys_to_virt((phys_addr_t)(x)))
 #define pfn_to_kaddr(pfn)      __va((pfn) << PAGE_SHIFT)
-#define virt_to_pfn(x)      __phys_to_pfn(__virt_to_phys(x))
+#define virt_to_pfn(x)      __phys_to_pfn(__virt_to_phys((unsigned long)(x)))
 
 /*
  *  virt_to_page(k)    convert a _valid_ virtual address to struct page *