On Thu, Jun 27, 2013 at 6:37 AM, Chen Gang <gang.chen@xxxxxxxxxxx> wrote: > --- a/arch/m32r/include/asm/io.h > +++ b/arch/m32r/include/asm/io.h > @@ -169,6 +169,20 @@ static inline void _writel(unsigned long l, unsigned long addr) > #define iowrite16 writew > #define iowrite32 writel > > +#define ioread8_rep(p, dst, count) \ > + insb((unsigned long) (p), (dst), (count)) As ioread8() is mapped to readb() (I/O memory space), not inb() (I/O port space), ioread8_rep() should map to readsb() (which m32r doesn't have yet BTW), not insb(). For m32r this does matter, as inb() and readb() use different mechanisms internally. It seems include/asm-generic/io.h also has this wrong? Gr{oetje,eeting}s, Geert -- Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- geert@xxxxxxxxxxxxxx In personal conversations with technical people, I call myself a hacker. But when I'm talking to journalists I just say "programmer" or something like that. -- Linus Torvalds -- To unsubscribe from this list: send the line "unsubscribe linux-arch" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html