Re: [PATCH] arch: m32r: include: asm: add ioread*_rep() and iowrite*_rep()

From: Geert Uytterhoeven
Date: Thu Jun 27 2013 - 05:28:25 EST


On Thu, Jun 27, 2013 at 10:55 AM, Chen Gang <gang.chen@xxxxxxxxxxx> wrote:
> On 06/27/2013 03:07 PM, Geert Uytterhoeven wrote:
>> 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.
>>
>
> Reasonable, but excuse me, I am not quite familiar with it, can any
> other members (or maintainer) to help implement it ?
>
> Thanks firstly.
>
> :-)
>
>> It seems include/asm-generic/io.h also has this wrong?
>>
>
> I think it need improvement, if readsb has been defined, it should use
> readsb() instead, or just use insb().

I think m32r can mostly use asm-generic/io.h.
I.e. arch/m32r/include/asm/io.h has to #define all the operations it implements
itself, and defer the rest to asm-generic/io.h.

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-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/