ARM: atomic64: fix endian-ness in atomic.h
authorVictor Kamensky <victor.kamensky@linaro.org>
Fri, 26 Jul 2013 16:28:53 +0000 (09:28 -0700)
committerVictor Kamensky <victor.kamensky@linaro.org>
Thu, 13 Mar 2014 21:48:38 +0000 (14:48 -0700)
commitd66e226e5f9197e89511c6ddae2394ee53cb5d02
treeb883a4c718f44e7ae215b98ba6b50a6b67556278
parent124fd249b01ee8234be028ba0fefac8473cd5036
ARM: atomic64: fix endian-ness in atomic.h

Fix inline asm for atomic64_xxx functions in arm atomic.h. Instead of
%H operand specifiers code should use %Q for least significant part
of the value, and %R for the most significant part of the value. %H
always returns the higher of the two register numbers, and therefore
it is not endian neutral. %H should be used with ldrexd and strexd
instructions.

Signed-off-by: Victor Kamensky <victor.kamensky@linaro.org>
Acked-by: Will Deacon <will.deacon@arm.com>
Signed-off-by: Ben Dooks <ben.dooks@codethink.co.uk>
(cherry picked from commit 2245f92498b216b50e744423bde17626287409d8)

Signed-off-by: Victor Kamensky <victor.kamensky@linaro.org>
arch/arm/include/asm/atomic.h