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

From: Chen Gang
Date: Thu Jun 27 2013 - 05:33:51 EST


On 06/27/2013 05:28 PM, Geert Uytterhoeven wrote:
> 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.

Really it is, if Arnd's patch for asm-generic/io.h pass checking and is
applied, thanks.


Hello Arnd:

Can you help to send the related patch too, since you have already send
the patch for asm-generic/io.h, which this patch depends on.


Thanks.
--
Chen Gang
--
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/