diff --git a/include/asm-ppc/io.h b/include/asm-ppc/io.h
index c00de452d6d479d9bc39ae5337c705aa2f310782..64cb746b1079d4a1310cdfe299bb2d8f7ebad4e3 100644
--- a/include/asm-ppc/io.h
+++ b/include/asm-ppc/io.h
@@ -300,7 +300,7 @@ static inline void unmap_physmem(void *vaddr, unsigned long flags)
 
 static inline phys_addr_t virt_to_phys(void * vaddr)
 {
-	return (phys_addr_t)(vaddr);
+	return (phys_addr_t)((unsigned long)vaddr);
 }
 
 #endif