diff options
Diffstat (limited to 'include/linux/semaphore.h')
-rw-r--r-- | include/linux/semaphore.h | 11 |
1 files changed, 4 insertions, 7 deletions
diff --git a/include/linux/semaphore.h b/include/linux/semaphore.h index 7415839ac890..66d25917cea0 100644 --- a/include/linux/semaphore.h +++ b/include/linux/semaphore.h | |||
@@ -14,20 +14,20 @@ | |||
14 | 14 | ||
15 | /* Please don't access any members of this structure directly */ | 15 | /* Please don't access any members of this structure directly */ |
16 | struct semaphore { | 16 | struct semaphore { |
17 | spinlock_t lock; | 17 | raw_spinlock_t lock; |
18 | unsigned int count; | 18 | unsigned int count; |
19 | struct list_head wait_list; | 19 | struct list_head wait_list; |
20 | }; | 20 | }; |
21 | 21 | ||
22 | #define __SEMAPHORE_INITIALIZER(name, n) \ | 22 | #define __SEMAPHORE_INITIALIZER(name, n) \ |
23 | { \ | 23 | { \ |
24 | .lock = __SPIN_LOCK_UNLOCKED((name).lock), \ | 24 | .lock = __RAW_SPIN_LOCK_UNLOCKED((name).lock), \ |
25 | .count = n, \ | 25 | .count = n, \ |
26 | .wait_list = LIST_HEAD_INIT((name).wait_list), \ | 26 | .wait_list = LIST_HEAD_INIT((name).wait_list), \ |
27 | } | 27 | } |
28 | 28 | ||
29 | #define DECLARE_MUTEX(name) \ | 29 | #define DEFINE_SEMAPHORE(name, val) \ |
30 | struct semaphore name = __SEMAPHORE_INITIALIZER(name, 1) | 30 | struct semaphore name = __SEMAPHORE_INITIALIZER(name, val) |
31 | 31 | ||
32 | static inline void sema_init(struct semaphore *sem, int val) | 32 | static inline void sema_init(struct semaphore *sem, int val) |
33 | { | 33 | { |
@@ -36,9 +36,6 @@ static inline void sema_init(struct semaphore *sem, int val) | |||
36 | lockdep_init_map(&sem->lock.dep_map, "semaphore->lock", &__key, 0); | 36 | lockdep_init_map(&sem->lock.dep_map, "semaphore->lock", &__key, 0); |
37 | } | 37 | } |
38 | 38 | ||
39 | #define init_MUTEX(sem) sema_init(sem, 1) | ||
40 | #define init_MUTEX_LOCKED(sem) sema_init(sem, 0) | ||
41 | |||
42 | extern void down(struct semaphore *sem); | 39 | extern void down(struct semaphore *sem); |
43 | extern int __must_check down_interruptible(struct semaphore *sem); | 40 | extern int __must_check down_interruptible(struct semaphore *sem); |
44 | extern int __must_check down_killable(struct semaphore *sem); | 41 | extern int __must_check down_killable(struct semaphore *sem); |