lkml.org 
[lkml]   [2013]   [May]   [31]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    /
    Date
    From
    SubjectRe: [PATCH] arch: m68k: include: asm: the 3rd parameter of 'insl' and 'outsl' need '<< 2'
    All,
    > Geert ,
    >>>
    >>> 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
    >>>
    > Is that the same problem Thorsten reported recently? parport.h should
    > either use what the arch io.h include defined, or (in the case of Q40
    > on m68k) undef and redefine as needed.
    It appears this is the same issue, see message ID
    loom.20130511T171757-995@post.gmane.org to linux-m68k (May 12th, by
    Thorsten Glaser).

    This _only_ applies to use of insl/outsl macros in parport_pc.h, which
    is only used by Q40 on m68k. I see no reason to change anything in io.h
    to cope with this warning.

    Cheers,

    Michael

    >>>
    >>> Signed-off-by: Chen Gang <gang.chen@asianux.com>
    >>> ---
    >>> 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?
    >>
    >
    > That's in the Atari specific branch - please explain why you think
    > this needs to be done. Has this patch been tested by running on
    > ARAnyM, at least?
    >
    > Unless this has been properly tested on Atari (hardware), please
    > leave as-is.
    >
    >>
    >>> #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
    >>>
    > I think that should read
    > #undef insl
    > #define insl(port,buf,len) isa_insb(port,buf,(len)<<2)
    >
    > instead. I distinctly remember this brought up a few weeks ago.
    >> 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.
    >>
    > Seconded.
    >
    > Cheers,
    >
    > Michael
    >
    >
    > --
    > To unsubscribe from this list: send the line "unsubscribe linux-m68k" in
    > the body of a message to majordomo@vger.kernel.org
    > More majordomo info at http://vger.kernel.org/majordomo-info.html



    \
     
     \ /
      Last update: 2013-06-01 03:21    [W:3.684 / U:0.008 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site