On Thu 2015-04-16 12:09:54, Ingo Molnar wrote: > > * Pavel Machek <pa...@ucw.cz> wrote: > > > The compiler is right, the code is tricky, but it is also correct > > AFAICT. > > > > Signed-off-by: Pavel Machek <pa...@ucw.cz> > > > > diff --git a/arch/x86/mm/ioremap.c b/arch/x86/mm/ioremap.c > > index fdf617c..8a8dce8 100644 > > --- a/arch/x86/mm/ioremap.c > > +++ b/arch/x86/mm/ioremap.c > > @@ -341,7 +341,7 @@ void *xlate_dev_mem_ptr(phys_addr_t phys) > > > > addr = (void __force *)ioremap_cache(start, PAGE_SIZE); > > if (addr) > > - addr = (void *)((unsigned long)addr | (phys & ~PAGE_MASK)); > > + addr = (void *)((unsigned long)addr | (unsigned long) (phys & > > ~PAGE_MASK)); > > What warning did it generate and which compiler version?
CC arch/x86/mm/ioremap.o arch/x86/mm/ioremap.c: In function ‘xlate_dev_mem_ptr’: arch/x86/mm/ioremap.c:363:10: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast] addr = (void *)((unsigned long)addr | (phys & ~PAGE_MASK)); ^ LD arch/x86/mm/built-in.o pavel@amd:/data/l/linux$ gcc --version gcc (Debian 4.9.2-10) 4.9.2 (Patch should apply to today's 4.1-rc0, too). Best regards, Pavel -- (english) http://www.livejournal.com/~pavelmachek (cesky, pictures) http://atrey.karlin.mff.cuni.cz/~pavel/picture/horses/blog.html -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/