ARM: 7866/1: include: asm: use 'long long' instead of 'u64' within atomic.h
authorChen Gang <gang.chen@asianux.com>
Sat, 26 Oct 2013 14:07:04 +0000 (15:07 +0100)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Fri, 6 Feb 2015 06:35:38 +0000 (22:35 -0800)
commit4db1ea4eb527d38ea61b449474a79438c6a8af93
treee05e97eff076b7439773aa365eda2409bf4988d0
parent716669313b88cce317a83230cde7644451aea9f4
ARM: 7866/1: include: asm: use 'long long' instead of 'u64' within atomic.h

commit 237f12337cfa2175474e4dd015bc07a25eb9080d upstream.

atomic* value is signed value, and atomic* functions need also process
signed value (parameter value, and return value), so 32-bit arm need
use 'long long' instead of 'u64'.

After replacement, it will also fix a bug for atomic64_add_negative():
"u64 is never less than 0".

The modifications are:

  in vim, use "1,% s/\<u64\>/long long/g" command.
  remove '__aligned(8)' which is useless for 64-bit.
  be sure of 80 column limitation after replacement.

Acked-by: Will Deacon <will.deacon@arm.com>
Signed-off-by: Chen Gang <gang.chen@asianux.com>
Signed-off-by: Will Deacon <will.deacon@arm.com>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
Cc: Hou Pengyang <houpengyang@huawei.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
arch/arm/include/asm/atomic.h