X-Git-Url: https://err.no/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=include%2Fasm-arm%2Fspinlock.h;h=406ca97a8ab29f99d381565ab3c9b745c1f147a3;hb=47005f255ed126a4b48a1a2f63164fb1d83bcb0a;hp=43ad4e55878c7961a535e6ce427b842adecb2372;hpb=97f2aab6698f3ab2552c41c1024a65ffd0763a6d;p=linux-2.6 diff --git a/include/asm-arm/spinlock.h b/include/asm-arm/spinlock.h index 43ad4e5587..406ca97a8a 100644 --- a/include/asm-arm/spinlock.h +++ b/include/asm-arm/spinlock.h @@ -142,6 +142,9 @@ static inline void __raw_write_unlock(raw_rwlock_t *rw) : "cc"); } +/* write_can_lock - would write_trylock() succeed? */ +#define __raw_write_can_lock(x) ((x)->lock == 0x80000000) + /* * Read locks are a bit more hairy: * - Exclusively load the lock value. @@ -198,4 +201,7 @@ static inline void __raw_read_unlock(raw_rwlock_t *rw) #define __raw_read_trylock(lock) generic__raw_read_trylock(lock) +/* read_can_lock - would read_trylock() succeed? */ +#define __raw_read_can_lock(x) ((x)->lock < 0x80000000) + #endif /* __ASM_SPINLOCK_H */