Messages in this thread Patch in this message | | | Date | Thu, 25 Sep 2014 10:33:09 +0100 | From | Will Deacon <> | Subject | Re: [PATCH v3 09/17] m68k: io: implement dummy relaxed accessor macros for writes |
| |
On Thu, Sep 25, 2014 at 02:05:43AM +0100, Greg Ungerer wrote: > Hi Will
Hi Greg,
Thanks for taking a look.
> On 25/09/14 03:17, Will Deacon wrote: > > write{b,w,l}_relaxed are implemented by some architectures in order to > > permit memory-mapped I/O accesses with weaker barrier semantics than the > > non-relaxed variants. > > > > This patch adds dummy macros for the write accessors to m68k, in the > > same vein as the dummy definitions for the relaxed read accessors. > > Additionally, the existing relaxed read accessors are moved into > > asm/io.h, so that they can be used by m68k targets with an MMU. > > > > Acked-by: Geert Uytterhoeven <geert@linux-m68k.org> > > Signed-off-by: Will Deacon <will.deacon@arm.com> > > --- > > arch/m68k/include/asm/io.h | 8 ++++++++ > > arch/m68k/include/asm/io_no.h | 4 ---- > > 2 files changed, 8 insertions(+), 4 deletions(-) > > > > diff --git a/arch/m68k/include/asm/io.h b/arch/m68k/include/asm/io.h > > index c70cc9155003..bccd5a914eb6 100644 > > --- a/arch/m68k/include/asm/io.h > > +++ b/arch/m68k/include/asm/io.h > > @@ -3,3 +3,11 @@ > > #else > > #include <asm/io_mm.h> > > #endif > > + > > +#define readb_relaxed(addr) readb(addr) > > +#define readw_relaxed(addr) readw(addr) > > +#define readl_relaxed(addr) readl(addr) > > + > > +#define writeb_relaxed(b, addr) writeb(b, addr) > > +#define writew_relaxed(b, addr) writew(b, addr) > > +#define writel_relaxed(b, addr) writel(b, addr) > > Putting them here means they won't have any multiple include protection > (there is no "#ifndef _IO_H" around them). Doesn't seem to lead to > any problems in practice. Just flagging it...
That's easy enough to fix, and actually, we should have __KERNEL__ checks here too. Fixup below.
Will
--->8
diff --git a/arch/m68k/include/asm/io.h b/arch/m68k/include/asm/io.h index bccd5a914eb6..ded201916560 100644 --- a/arch/m68k/include/asm/io.h +++ b/arch/m68k/include/asm/io.h @@ -1,9 +1,14 @@ +#ifndef _M68K_IO_H +#define _M68K_IO_H + #ifdef __uClinux__ #include <asm/io_no.h> #else #include <asm/io_mm.h> #endif +#ifdef __KERNEL__ + #define readb_relaxed(addr) readb(addr) #define readw_relaxed(addr) readw(addr) #define readl_relaxed(addr) readl(addr) @@ -11,3 +16,6 @@ #define writeb_relaxed(b, addr) writeb(b, addr) #define writew_relaxed(b, addr) writew(b, addr) #define writel_relaxed(b, addr) writel(b, addr) + +#endif /* __KERNEL__ */ +#endif /* _M68K_IO_H */
| |