On Thu, May 21, 2009 at 05:49:30AM +0800, wuzhangjin@xxxxxxxxx wrote: > mm/page_alloc.c:1760: warning: passing argument 1 of ‘virt_to_phys’ > makes pointer from integer without a cast > > mm/page_alloc.c:1760 > ... > unsigned long addr; > ... > split_page(virt_to_page(addr), order); > > arch/mips/include/asm/page.h > > #define virt_to_page(kaddr) pfn_to_page(PFN_DOWN(virt_to_phys(kaddr))) > #define virt_addr_valid(kaddr) pfn_valid(PFN_DOWN(virt_to_phys(kaddr))) > > arch/mips/include/asm/io.h > static inline unsigned long virt_to_phys(volatile const void *address) I'm inclined to say the caller needs fixing. Most callers are passing some kind of pointer argument but here an unsigned long is being passed in. I'm checking with the mm maintainers. For now I'll apply this patch to my -mm queue. Ralf