#include <asm/atomic.h>
#ifdef CONFIG_SMP
-atomic_lock_t __atomic_hash[ATOMIC_HASH_SIZE] __lock_aligned = {
- [0 ... (ATOMIC_HASH_SIZE-1)] = (atomic_lock_t) { { 1, 1, 1, 1 } }
+spinlock_t __atomic_hash[ATOMIC_HASH_SIZE] __lock_aligned = {
+ [0 ... (ATOMIC_HASH_SIZE-1)] = SPIN_LOCK_UNLOCKED
};
#endif
{
unsigned long temp, flags;
- atomic_spin_lock_irqsave(ATOMIC_HASH(ptr), flags);
+ _atomic_spin_lock_irqsave(ptr, flags);
temp = *ptr;
*ptr = x;
- atomic_spin_unlock_irqrestore(ATOMIC_HASH(ptr), flags);
+ _atomic_spin_unlock_irqrestore(ptr, flags);
return temp;
}
#endif
unsigned long flags;
long temp;
- atomic_spin_lock_irqsave(ATOMIC_HASH(ptr), flags);
+ _atomic_spin_lock_irqsave(ptr, flags);
temp = (long) *ptr; /* XXX - sign extension wanted? */
*ptr = x;
- atomic_spin_unlock_irqrestore(ATOMIC_HASH(ptr), flags);
+ _atomic_spin_unlock_irqrestore(ptr, flags);
return (unsigned long)temp;
}
unsigned long flags;
long temp;
- atomic_spin_lock_irqsave(ATOMIC_HASH(ptr), flags);
+ _atomic_spin_lock_irqsave(ptr, flags);
temp = (long) *ptr; /* XXX - sign extension wanted? */
*ptr = x;
- atomic_spin_unlock_irqrestore(ATOMIC_HASH(ptr), flags);
+ _atomic_spin_unlock_irqrestore(ptr, flags);
return (unsigned long)temp;
}
unsigned long flags;
unsigned long prev;
- atomic_spin_lock_irqsave(ATOMIC_HASH(ptr), flags);
+ _atomic_spin_lock_irqsave(ptr, flags);
if ((prev = *ptr) == old)
*ptr = new;
- atomic_spin_unlock_irqrestore(ATOMIC_HASH(ptr), flags);
+ _atomic_spin_unlock_irqrestore(ptr, flags);
return prev;
}
#endif
unsigned long flags;
unsigned int prev;
- atomic_spin_lock_irqsave(ATOMIC_HASH(ptr), flags);
+ _atomic_spin_lock_irqsave(ptr, flags);
if ((prev = *ptr) == old)
*ptr = new;
- atomic_spin_unlock_irqrestore(ATOMIC_HASH(ptr), flags);
+ _atomic_spin_unlock_irqrestore(ptr, flags);
return (unsigned long)prev;
}