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)
committerBen Dooks <ben.dooks@codethink.co.uk>
Sat, 19 Oct 2013 19:46:36 +0000 (20:46 +0100)
commit2245f92498b216b50e744423bde17626287409d8
tree276800cff9c3af537537a8a4a6c25a33d1c5c1ab
parent5a8b93fc9457be90adfa10d3df6497393c5e2dc2
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>
arch/arm/include/asm/atomic.h