X-Git-Url: http://git.onelab.eu/?a=blobdiff_plain;f=include%2Fasm-arm%2Fspinlock.h;h=182323619caa84eabcaf59094e40a762c81813ff;hb=6a77f38946aaee1cd85eeec6cf4229b204c15071;hp=1c22e7feabf508af0aeec20eea670e1bfda2f018;hpb=9213980e6a70d8473e0ffd4b39ab5b6caaba9ff5;p=linux-2.6.git diff --git a/include/asm-arm/spinlock.h b/include/asm-arm/spinlock.h index 1c22e7fea..182323619 100644 --- a/include/asm-arm/spinlock.h +++ b/include/asm-arm/spinlock.h @@ -17,6 +17,9 @@ */ typedef struct { volatile unsigned int lock; +#ifdef CONFIG_PREEMPT + unsigned int break_lock; +#endif } spinlock_t; #define SPIN_LOCK_UNLOCKED (spinlock_t) { 0 } @@ -70,6 +73,9 @@ static inline void _raw_spin_unlock(spinlock_t *lock) */ typedef struct { volatile unsigned int lock; +#ifdef CONFIG_PREEMPT + unsigned int break_lock; +#endif } rwlock_t; #define RW_LOCK_UNLOCKED (rwlock_t) { 0 } @@ -143,6 +149,8 @@ static inline void _raw_read_unlock(rwlock_t *rw) : "cc", "memory"); } +#define _raw_read_trylock(lock) generic_raw_read_trylock(lock) + static inline int _raw_write_trylock(rwlock_t *rw) { unsigned long tmp;