diff options
Diffstat (limited to 'include/linux/rwsem-spinlock.h')
-rw-r--r-- | include/linux/rwsem-spinlock.h | 31 |
1 files changed, 1 insertions, 30 deletions
diff --git a/include/linux/rwsem-spinlock.h b/include/linux/rwsem-spinlock.h index bdfcc2527970..34701241b673 100644 --- a/include/linux/rwsem-spinlock.h +++ b/include/linux/rwsem-spinlock.h | |||
@@ -12,15 +12,7 @@ | |||
12 | #error "please don't include linux/rwsem-spinlock.h directly, use linux/rwsem.h instead" | 12 | #error "please don't include linux/rwsem-spinlock.h directly, use linux/rwsem.h instead" |
13 | #endif | 13 | #endif |
14 | 14 | ||
15 | #include <linux/spinlock.h> | ||
16 | #include <linux/list.h> | ||
17 | |||
18 | #ifdef __KERNEL__ | 15 | #ifdef __KERNEL__ |
19 | |||
20 | #include <linux/types.h> | ||
21 | |||
22 | struct rwsem_waiter; | ||
23 | |||
24 | /* | 16 | /* |
25 | * the rw-semaphore definition | 17 | * the rw-semaphore definition |
26 | * - if activity is 0 then there are no active readers or writers | 18 | * - if activity is 0 then there are no active readers or writers |
@@ -37,28 +29,7 @@ struct rw_semaphore { | |||
37 | #endif | 29 | #endif |
38 | }; | 30 | }; |
39 | 31 | ||
40 | #ifdef CONFIG_DEBUG_LOCK_ALLOC | 32 | #define RWSEM_UNLOCKED_VALUE 0x00000000 |
41 | # define __RWSEM_DEP_MAP_INIT(lockname) , .dep_map = { .name = #lockname } | ||
42 | #else | ||
43 | # define __RWSEM_DEP_MAP_INIT(lockname) | ||
44 | #endif | ||
45 | |||
46 | #define __RWSEM_INITIALIZER(name) \ | ||
47 | { 0, __SPIN_LOCK_UNLOCKED(name.wait_lock), LIST_HEAD_INIT((name).wait_list) \ | ||
48 | __RWSEM_DEP_MAP_INIT(name) } | ||
49 | |||
50 | #define DECLARE_RWSEM(name) \ | ||
51 | struct rw_semaphore name = __RWSEM_INITIALIZER(name) | ||
52 | |||
53 | extern void __init_rwsem(struct rw_semaphore *sem, const char *name, | ||
54 | struct lock_class_key *key); | ||
55 | |||
56 | #define init_rwsem(sem) \ | ||
57 | do { \ | ||
58 | static struct lock_class_key __key; \ | ||
59 | \ | ||
60 | __init_rwsem((sem), #sem, &__key); \ | ||
61 | } while (0) | ||
62 | 33 | ||
63 | extern void __down_read(struct rw_semaphore *sem); | 34 | extern void __down_read(struct rw_semaphore *sem); |
64 | extern int __down_read_trylock(struct rw_semaphore *sem); | 35 | extern int __down_read_trylock(struct rw_semaphore *sem); |