diff options
Diffstat (limited to 'arch/ia64/include/asm/spinlock.h')
| -rw-r--r-- | arch/ia64/include/asm/spinlock.h | 8 | 
1 files changed, 6 insertions, 2 deletions
diff --git a/arch/ia64/include/asm/spinlock.h b/arch/ia64/include/asm/spinlock.h index 1a91c9121d1..45698cd15b7 100644 --- a/arch/ia64/include/asm/spinlock.h +++ b/arch/ia64/include/asm/spinlock.h @@ -13,9 +13,8 @@  #include <linux/kernel.h>  #include <linux/bitops.h> -#include <asm/atomic.h> +#include <linux/atomic.h>  #include <asm/intrinsics.h> -#include <asm/system.h>  #define arch_spin_lock_init(x)			((x)->lock = 0) @@ -103,6 +102,11 @@ static inline int __ticket_spin_is_contended(arch_spinlock_t *lock)  	return ((tmp - (tmp >> TICKET_SHIFT)) & TICKET_MASK) > 1;  } +static __always_inline int arch_spin_value_unlocked(arch_spinlock_t lock) +{ +	return !(((lock.lock >> TICKET_SHIFT) ^ lock.lock) & TICKET_MASK); +} +  static inline int arch_spin_is_locked(arch_spinlock_t *lock)  {  	return __ticket_spin_is_locked(lock);  | 
