Messages in this thread | | | Date | Thu, 27 Jun 2013 17:32:53 +0800 | From | Chen Gang <> | Subject | Re: [PATCH] arch: m32r: include: asm: add ioread*_rep() and iowrite*_rep() |
| |
On 06/27/2013 05:28 PM, Geert Uytterhoeven wrote: > On Thu, Jun 27, 2013 at 10:55 AM, Chen Gang <gang.chen@asianux.com> wrote: >> > On 06/27/2013 03:07 PM, Geert Uytterhoeven wrote: >>> >> On Thu, Jun 27, 2013 at 6:37 AM, Chen Gang <gang.chen@asianux.com> 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
| |