On Wed, Apr 20, 2016 at 03:18:54PM +0200, Alexander Gordeev wrote: > This update also adds missing __iomem specificator which > has been used by existing IO accessors. > > Cc: Andrew Jones <drjones@xxxxxxxxxx> > Cc: Thomas Huth <thuth@xxxxxxxxxx> > Cc: Radim Krčmář <rkrcmar@xxxxxxxxxx> > Signed-off-by: Alexander Gordeev <agordeev@xxxxxxxxxx> > --- > lib/asm-generic/io.h | 4 ++-- > lib/x86/asm/io.h | 2 ++ > 2 files changed, 4 insertions(+), 2 deletions(-) > > diff --git a/lib/asm-generic/io.h b/lib/asm-generic/io.h > index 5c29ece..1ac2b97 100644 > --- a/lib/asm-generic/io.h > +++ b/lib/asm-generic/io.h > @@ -195,10 +195,10 @@ static inline void outl(uint32_t value, unsigned long port) > #endif > > #ifndef ioremap > -static inline void *ioremap(u64 phys_addr, size_t size __unused) > +static inline void __iomem *ioremap(phys_addr_t phys_addr, size_t size __unused) > { > assert(sizeof(long) == 8 || !(phys_addr >> 32)); > - return (void *)(unsigned long)phys_addr; > + return (void __iomem *)phys_addr; Now that you've removed the unsigned long cast, what happens on 32bit builds here? Doesn't it fail to compile due to a bad cast? > } > #endif > > diff --git a/lib/x86/asm/io.h b/lib/x86/asm/io.h > index 03f41af..fe975ff 100644 > --- a/lib/x86/asm/io.h > +++ b/lib/x86/asm/io.h > @@ -4,6 +4,8 @@ > #include "asm/page.h" > #include "asm/barrier.h" > > +#define __iomem > + > #define inb inb > static inline uint8_t inb(unsigned long port) > { > -- > 1.8.3.1 > > -- > To unsubscribe from this list: send the line "unsubscribe kvm" in > the body of a message to majordomo@xxxxxxxxxxxxxxx > More majordomo info at http://vger.kernel.org/majordomo-info.html -- To unsubscribe from this list: send the line "unsubscribe kvm" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html