On Wed, May 22, 2019 at 3:23 PM Mark Rutland mark.rutland@arm.com wrote:
Currently architectures return inconsistent types for atomic64 ops. Some return long (e..g. powerpc), some return long long (e.g. arc), and some return s64 (e.g. x86).
This is a bit messy, and causes unnecessary pain (e.g. as values must be cast before they can be printed [1]).
This series reworks all the atomic64 implementations to use s64 as the base type for atomic64_t (as discussed [2]), and to ensure that this type is consistently used for parameters and return values in the API, avoiding further problems in this area.
This series (based on v5.1-rc1) can also be found in my atomics/type-cleanup branch [3] on kernel.org.
Nice cleanup!
I've provided an explicit Ack for the asm-generic patch if someone wants to pick up the entire series, but I can also put it all into my asm-generic tree if you want, after more people have had a chance to take a look.
Arnd