X-Git-Url: http://git.onelab.eu/?a=blobdiff_plain;f=include%2Fasm-arm%2Fspinlock.h;h=1c22e7feabf508af0aeec20eea670e1bfda2f018;hb=da7238bfbc1c5267bb3c9a79e03b6c296839a07e;hp=2d0354f7d36aad4f120b5f320199c6b4b5663bd4;hpb=86090fcac5e27b630656fe3d963a6b80e26dac44;p=linux-2.6.git diff --git a/include/asm-arm/spinlock.h b/include/asm-arm/spinlock.h index 2d0354f7d..1c22e7fea 100644 --- a/include/asm-arm/spinlock.h +++ b/include/asm-arm/spinlock.h @@ -24,6 +24,7 @@ typedef struct { #define spin_lock_init(x) do { *(x) = SPIN_LOCK_UNLOCKED; } while (0) #define spin_is_locked(x) ((x)->lock != 0) #define spin_unlock_wait(x) do { barrier(); } while (spin_is_locked(x)) +#define _raw_spin_lock_flags(lock, flags) _raw_spin_lock(lock) static inline void _raw_spin_lock(spinlock_t *lock) { @@ -88,7 +89,7 @@ static inline void _raw_write_lock(rwlock_t *rw) " strexeq %0, %2, [%1]\n" " teq %0, #0\n" " bne 1b" - : "=r" (tmp) + : "=&r" (tmp) : "r" (&rw->lock), "r" (0x80000000) : "cc", "memory"); } @@ -150,7 +151,7 @@ static inline int _raw_write_trylock(rwlock_t *rw) "1: ldrex %0, [%1]\n" " teq %0, #0\n" " strexeq %0, %2, [%1]" - : "=r" (tmp) + : "=&r" (tmp) : "r" (&rw->lock), "r" (0x80000000) : "cc", "memory");