Re: [PATCH v2 1/8] asm-generic/io.h: allow barriers in io{read,write}{16,32}be

From: Arnd Bergmann
Date: Thu May 05 2016 - 12:29:40 EST


On Thursday 05 May 2016 18:35:45 Horia GeantÄ wrote:
> While reviewing the addition of io{read,write}64be accessors, Arnd
>
> -finds a potential problem:
> "If an architecture overrides readq/writeq to have barriers but does
> not override ioread64be/iowrite64be, this will lack the barriers and
> behave differently from the little-endian version. I think the only
> affected architecture is ARC, since ARM and ARM64 both override the
> big-endian accessors to have the correct barriers, and all others
> don't use barriers at all."
>
> -suggests a fix for the same problem in existing code (16/32-bit
> accessors); the fix leads "to a double-swap on architectures that
> don't override the io{read,write}{16,32}be accessors, but it will
> work correctly on all architectures without them having to override
> these accessors."
>
> Suggested-by: Arnd Bergmann <arnd@xxxxxxxx>
> Signed-off-by: Horia GeantÄ <horia.geanta@xxxxxxx>
> ---

Acked-by: Arnd Bergmann <arnd@xxxxxxxx>