On Thu, May 30, 2013 at 11:39 AM, Chen Gang <gang.chen@xxxxxxxxxxx> wrote: > According to the original implementation in 2009, 'insl' and 'outsl' > need '<< 2'. Sorry, now I'm confused. Which original implementation? I can't find this one using "<< 2"? > Also add '#ifdef' to avoid multiple defination, and beautify code to > pass "./scripts/checkpatch.pl" > > The related git number: > for parport.h: "4914802 m68k,m68knommu: merge header files" in 2009 > for io_mm.h: "84b16b7 m68k/atari: ROM port ISA adapter support" in Apr 6 2013 > > The related warning (make EXTRA_CFLAG=-W ARCH=m68k allmodconfig): > arch/m68k/include/asm/parport.h:14:0: warning: "insl" redefined [enabled by default] > arch/m68k/include/asm/io_mm.h:403:0: note: this is the location of the previous definition > arch/m68k/include/asm/parport.h:15:0: warning: "outsl" redefined [enabled by default] > arch/m68k/include/asm/io_mm.h:406:0: note: this is the location of the previous definition > > > Signed-off-by: Chen Gang <gang.chen@xxxxxxxxxxx> > --- > arch/m68k/include/asm/io_mm.h | 5 +++-- > arch/m68k/include/asm/parport.h | 9 +++++++-- > 2 files changed, 10 insertions(+), 4 deletions(-) > > diff --git a/arch/m68k/include/asm/io_mm.h b/arch/m68k/include/asm/io_mm.h > index ffdf54f4..66be3b2 100644 > --- a/arch/m68k/include/asm/io_mm.h > +++ b/arch/m68k/include/asm/io_mm.h > @@ -400,10 +400,11 @@ static inline void isa_delay(void) > > #define insb(port, buf, nr) ((port) < 1024 ? isa_rom_insb((port), (buf), (nr)) : isa_insb((port), (buf), (nr))) > #define insw(port, buf, nr) ((port) < 1024 ? isa_rom_insw((port), (buf), (nr)) : isa_insw((port), (buf), (nr))) > -#define insl isa_insl > +#define insl(port, buf, len) isa_insb((port), (buf), (len) << 2) Oops, changes from 32-bit accesses to byte accesses? > #define outsb(port, buf, nr) ((port) < 1024 ? isa_rom_outsb((port), (buf), (nr)) : isa_outsb((port), (buf), (nr))) > #define outsw(port, buf, nr) ((port) < 1024 ? isa_rom_outsw((port), (buf), (nr)) : isa_outsw((port), (buf), (nr))) > -#define outsl isa_outsl > +#define outsl(port, buf, len) isa_outsb((port), (buf), (len) << 2) > > #define readb(addr) in_8(addr) > #define writeb(val, addr) out_8((addr), (val)) > diff --git a/arch/m68k/include/asm/parport.h b/arch/m68k/include/asm/parport.h > index 5ea75e6..e8e4a2a 100644 > --- a/arch/m68k/include/asm/parport.h > +++ b/arch/m68k/include/asm/parport.h > @@ -11,8 +11,13 @@ > #ifndef _ASM_M68K_PARPORT_H > #define _ASM_M68K_PARPORT_H 1 > > -#define insl(port,buf,len) isa_insb(port,buf,(len)<<2) > -#define outsl(port,buf,len) isa_outsb(port,buf,(len)<<2) > +#ifndef insl > +#define insl(port, buf, len) isa_insb((port), (buf), (len) << 2) > +#endif > + > +#ifndef outsl > +#define outsl(port, buf, len) isa_outsb((port), (buf), (len) << 2) > +#endif Now the (re)definitions are identical to the originals, so they can just be removed. But the ones in <asm/io.h> are not correct anymore, IMHO. 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