diff options
Diffstat (limited to 'include/linux/rwsem.h')
| -rw-r--r-- | include/linux/rwsem.h | 10 | 
1 files changed, 6 insertions, 4 deletions
diff --git a/include/linux/rwsem.h b/include/linux/rwsem.h index 6a6741440cb..63d40655439 100644 --- a/include/linux/rwsem.h +++ b/include/linux/rwsem.h @@ -25,7 +25,7 @@ struct rw_semaphore;  /* All arch specific implementations share the same struct */  struct rw_semaphore {  	long			count; -	spinlock_t		wait_lock; +	raw_spinlock_t		wait_lock;  	struct list_head	wait_list;  #ifdef CONFIG_DEBUG_LOCK_ALLOC  	struct lockdep_map	dep_map; @@ -56,9 +56,11 @@ static inline int rwsem_is_locked(struct rw_semaphore *sem)  # define __RWSEM_DEP_MAP_INIT(lockname)  #endif -#define __RWSEM_INITIALIZER(name) \ -	{ RWSEM_UNLOCKED_VALUE, __SPIN_LOCK_UNLOCKED(name.wait_lock),	\ -	  LIST_HEAD_INIT((name).wait_list) __RWSEM_DEP_MAP_INIT(name) } +#define __RWSEM_INITIALIZER(name)			\ +	{ RWSEM_UNLOCKED_VALUE,				\ +	  __RAW_SPIN_LOCK_UNLOCKED(name.wait_lock),	\ +	  LIST_HEAD_INIT((name).wait_list)		\ +	  __RWSEM_DEP_MAP_INIT(name) }  #define DECLARE_RWSEM(name) \  	struct rw_semaphore name = __RWSEM_INITIALIZER(name)  |