Merge tag 'upstream-3.7-rc1' of git://git.infradead.org/linux-ubifs
[linux-3.10.git] / kernel / Kconfig.locks
1 #
2 # The ARCH_INLINE foo is necessary because select ignores "depends on"
3 #
4 config ARCH_INLINE_SPIN_TRYLOCK
5         bool
6
7 config ARCH_INLINE_SPIN_TRYLOCK_BH
8         bool
9
10 config ARCH_INLINE_SPIN_LOCK
11         bool
12
13 config ARCH_INLINE_SPIN_LOCK_BH
14         bool
15
16 config ARCH_INLINE_SPIN_LOCK_IRQ
17         bool
18
19 config ARCH_INLINE_SPIN_LOCK_IRQSAVE
20         bool
21
22 config ARCH_INLINE_SPIN_UNLOCK
23         bool
24
25 config ARCH_INLINE_SPIN_UNLOCK_BH
26         bool
27
28 config ARCH_INLINE_SPIN_UNLOCK_IRQ
29         bool
30
31 config ARCH_INLINE_SPIN_UNLOCK_IRQRESTORE
32         bool
33
34
35 config ARCH_INLINE_READ_TRYLOCK
36         bool
37
38 config ARCH_INLINE_READ_LOCK
39         bool
40
41 config ARCH_INLINE_READ_LOCK_BH
42         bool
43
44 config ARCH_INLINE_READ_LOCK_IRQ
45         bool
46
47 config ARCH_INLINE_READ_LOCK_IRQSAVE
48         bool
49
50 config ARCH_INLINE_READ_UNLOCK
51         bool
52
53 config ARCH_INLINE_READ_UNLOCK_BH
54         bool
55
56 config ARCH_INLINE_READ_UNLOCK_IRQ
57         bool
58
59 config ARCH_INLINE_READ_UNLOCK_IRQRESTORE
60         bool
61
62
63 config ARCH_INLINE_WRITE_TRYLOCK
64         bool
65
66 config ARCH_INLINE_WRITE_LOCK
67         bool
68
69 config ARCH_INLINE_WRITE_LOCK_BH
70         bool
71
72 config ARCH_INLINE_WRITE_LOCK_IRQ
73         bool
74
75 config ARCH_INLINE_WRITE_LOCK_IRQSAVE
76         bool
77
78 config ARCH_INLINE_WRITE_UNLOCK
79         bool
80
81 config ARCH_INLINE_WRITE_UNLOCK_BH
82         bool
83
84 config ARCH_INLINE_WRITE_UNLOCK_IRQ
85         bool
86
87 config ARCH_INLINE_WRITE_UNLOCK_IRQRESTORE
88         bool
89
90 config UNINLINE_SPIN_UNLOCK
91         bool
92
93 #
94 # lock_* functions are inlined when:
95 #   - DEBUG_SPINLOCK=n and GENERIC_LOCKBREAK=n and ARCH_INLINE_*LOCK=y
96 #
97 # trylock_* functions are inlined when:
98 #   - DEBUG_SPINLOCK=n and ARCH_INLINE_*LOCK=y
99 #
100 # unlock and unlock_irq functions are inlined when:
101 #   - DEBUG_SPINLOCK=n and ARCH_INLINE_*LOCK=y
102 #  or
103 #   - DEBUG_SPINLOCK=n and PREEMPT=n
104 #
105 # unlock_bh and unlock_irqrestore functions are inlined when:
106 #   - DEBUG_SPINLOCK=n and ARCH_INLINE_*LOCK=y
107 #
108
109 if !DEBUG_SPINLOCK
110
111 config INLINE_SPIN_TRYLOCK
112         def_bool y
113         depends on ARCH_INLINE_SPIN_TRYLOCK
114
115 config INLINE_SPIN_TRYLOCK_BH
116         def_bool y
117         depends on ARCH_INLINE_SPIN_TRYLOCK_BH
118
119 config INLINE_SPIN_LOCK
120         def_bool y
121         depends on !GENERIC_LOCKBREAK && ARCH_INLINE_SPIN_LOCK
122
123 config INLINE_SPIN_LOCK_BH
124         def_bool y
125         depends on !GENERIC_LOCKBREAK && ARCH_INLINE_SPIN_LOCK_BH
126
127 config INLINE_SPIN_LOCK_IRQ
128         def_bool y
129         depends on !GENERIC_LOCKBREAK && ARCH_INLINE_SPIN_LOCK_IRQ
130
131 config INLINE_SPIN_LOCK_IRQSAVE
132         def_bool y
133         depends on !GENERIC_LOCKBREAK && ARCH_INLINE_SPIN_LOCK_IRQSAVE
134
135 config INLINE_SPIN_UNLOCK_BH
136         def_bool y
137         depends on ARCH_INLINE_SPIN_UNLOCK_BH
138
139 config INLINE_SPIN_UNLOCK_IRQ
140         def_bool y
141         depends on !PREEMPT || ARCH_INLINE_SPIN_UNLOCK_BH
142
143 config INLINE_SPIN_UNLOCK_IRQRESTORE
144         def_bool y
145         depends on ARCH_INLINE_SPIN_UNLOCK_IRQRESTORE
146
147
148 config INLINE_READ_TRYLOCK
149         def_bool y
150         depends on ARCH_INLINE_READ_TRYLOCK
151
152 config INLINE_READ_LOCK
153         def_bool y
154         depends on !GENERIC_LOCKBREAK && ARCH_INLINE_READ_LOCK
155
156 config INLINE_READ_LOCK_BH
157         def_bool y
158         depends on !GENERIC_LOCKBREAK && ARCH_INLINE_READ_LOCK_BH
159
160 config INLINE_READ_LOCK_IRQ
161         def_bool y
162         depends on !GENERIC_LOCKBREAK && ARCH_INLINE_READ_LOCK_IRQ
163
164 config INLINE_READ_LOCK_IRQSAVE
165         def_bool y
166         depends on !GENERIC_LOCKBREAK && ARCH_INLINE_READ_LOCK_IRQSAVE
167
168 config INLINE_READ_UNLOCK
169         def_bool y
170         depends on !PREEMPT || ARCH_INLINE_READ_UNLOCK
171
172 config INLINE_READ_UNLOCK_BH
173         def_bool y
174         depends on ARCH_INLINE_READ_UNLOCK_BH
175
176 config INLINE_READ_UNLOCK_IRQ
177         def_bool y
178         depends on !PREEMPT || ARCH_INLINE_READ_UNLOCK_BH
179
180 config INLINE_READ_UNLOCK_IRQRESTORE
181         def_bool y
182         depends on ARCH_INLINE_READ_UNLOCK_IRQRESTORE
183
184
185 config INLINE_WRITE_TRYLOCK
186         def_bool y
187         depends on ARCH_INLINE_WRITE_TRYLOCK
188
189 config INLINE_WRITE_LOCK
190         def_bool y
191         depends on !GENERIC_LOCKBREAK && ARCH_INLINE_WRITE_LOCK
192
193 config INLINE_WRITE_LOCK_BH
194         def_bool y
195         depends on !GENERIC_LOCKBREAK && ARCH_INLINE_WRITE_LOCK_BH
196
197 config INLINE_WRITE_LOCK_IRQ
198         def_bool y
199         depends on !GENERIC_LOCKBREAK && ARCH_INLINE_WRITE_LOCK_IRQ
200
201 config INLINE_WRITE_LOCK_IRQSAVE
202         def_bool y
203         depends on !GENERIC_LOCKBREAK && ARCH_INLINE_WRITE_LOCK_IRQSAVE
204
205 config INLINE_WRITE_UNLOCK
206         def_bool y
207         depends on !PREEMPT || ARCH_INLINE_WRITE_UNLOCK
208
209 config INLINE_WRITE_UNLOCK_BH
210         def_bool y
211         depends on ARCH_INLINE_WRITE_UNLOCK_BH
212
213 config INLINE_WRITE_UNLOCK_IRQ
214         def_bool y
215         depends on !PREEMPT || ARCH_INLINE_WRITE_UNLOCK_BH
216
217 config INLINE_WRITE_UNLOCK_IRQRESTORE
218         def_bool y
219         depends on ARCH_INLINE_WRITE_UNLOCK_IRQRESTORE
220
221 endif
222
223 config MUTEX_SPIN_ON_OWNER
224         def_bool y
225         depends on SMP && !DEBUG_MUTEXES