Subject: [PATCH 1/3] asm-generic/io.h: Implement generic {read,write}s*()

From: [email-masked] (Arnd Bergmann)
Date: Thu, 10 Jul 2014 12:38:55 +0200

On Wednesday 09 July 2014, Thierry Reding wrote:
> 
> From: Thierry Reding <[email-masked]>
> 
> This patch implements generic versions of readsb(), readsw(), readsl(),
> readsq(), writesb(), writesw(), writesl() and writesq(). Variants of
> these string functions for I/O accesses (ins*() and outs*() as well as
> ioread*_rep() and iowrite*_rep()) are now implemented in terms of the
> new functions.
> 
> While at it, also make sure that any of the functions provided as
> fallback for architectures that don't override them can't be overridden
> subsequently.
> 
> This is compile- and runtime-tested on 32-bit and 64-bit ARM and compile
> tested on Microblaze, s390, SPARC and Xtensa. For ARC, Blackfin, Metag,
> OpenRISC, Score and Unicore32 which also use asm-generic/io.h I couldn't
> find or build a cross-compiler that would run on my system. But by code
> inspection they shouldn't break with this patch.
> 
> Signed-off-by: Thierry Reding <[email-masked]>

Acked-by: Arnd Bergmann <[email-masked]>

Thanks for doing this!

Not sure how to best merge the series, but for the asm-generic patch,
I'd suggest to keep it together with the follow-on patches in one
branch and merge it either through Russell's arm32 tree or through
Catalin's arm64 tree.

The easiest way would probably be to take patches 1 and 3 for arm64 in
3.17 and merge patch 2 in 3.18, unless Russell wants to see this earlier,
in which case we could have a branch that is shared between arm32 and
arm64.

	Arnd