Re: [patch for 4.0] x86: silence warning in /dev/mem support

From: Pavel Machek
Date: Thu Apr 16 2015 - 06:16:02 EST


On Thu 2015-04-16 12:09:54, Ingo Molnar wrote:
>
> * Pavel Machek <pavel@xxxxxx> wrote:
>
> > The compiler is right, the code is tricky, but it is also correct
> > AFAICT.
> >
> > Signed-off-by: Pavel Machek <pavel@xxxxxx>
> >
> > 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 majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/