Messages in this thread | | | From | Arnd Bergmann <> | Date | Wed, 4 Apr 2018 17:55:37 +0200 | Subject | Re: [PATCH v2 2/2] io: prevent compiler reordering on the default readX() implementation |
| |
On Wed, Apr 4, 2018 at 5:52 PM, Sinan Kaya <okaya@codeaurora.org> wrote: > On 4/3/2018 6:29 PM, Palmer Dabbelt wrote: >> > > Are we looking for something like this?
Yes, exactly, plus the same for write and in/out of course.
> diff --git a/inc > #ifndef readb > #define readb readb > -static inline u8 readb(const volatile void __iomem *addr) > -{ > - return __raw_readb(addr); > -} > +#define readb(c) \ > + ({ u8 __v; \ > + __io_br(); \ > + __v = __raw_readb(c); \ > + __io_ar(); \ > + __v; }) > #endif
I would prefer leaving these as inline functions, but that's only a cosmetic difference.
Arnd
| |