[PATCH 2/2] ARM: include: asm: use 'int' instead of 'unsigned long' for normal register variables within atomic.h

Will Deacon will.deacon at arm.com
Mon Sep 30 12:11:49 EDT 2013


On Sun, Sep 29, 2013 at 04:52:28AM +0100, Chen Gang wrote:
> "arc/arm" will be never on 64-bit, it is mainly on 32-bit (may also can
> be on 16-bit).
> 
> So better to use 'int' instead of 'unsigned long' for normal register
> variable (on 16-bit, 'int' is allowed to be 16-bit, so historically,
> often use 'int' for normal register variables).

This commit message doesn't make a blind bit of sense! arch/arm/ is a 32-bit
architecture in the sense that int will always be 32-bit there. This patch
is just a cosmetic change, bringing our atomic_t manipulation code inline
with the atomic_t type definition.

> @@ -297,7 +297,7 @@ static inline void atomic64_set(atomic64_t *v, long
> long i)
>  static inline void atomic64_add(long long i, atomic64_t *v)
>  {
>  	long long result;
> -	unsigned long tmp;
> +	int tmp;

Please leave the atomic64_* functions alone here; the reasoning I explained
above doesn't apply to them. Whilst int may work, it seems gratuitous to
make this change for no reason.

Will



More information about the linux-arm-kernel mailing list