Linux 4.15.6
[linux/fpc-iii.git] / kernel / Kconfig.locks
blob84d882f3e2993b9ce3fdef1cc6aff5c52a8f4622
2 # The ARCH_INLINE foo is necessary because select ignores "depends on"
4 config ARCH_INLINE_SPIN_TRYLOCK
5         bool
7 config ARCH_INLINE_SPIN_TRYLOCK_BH
8         bool
10 config ARCH_INLINE_SPIN_LOCK
11         bool
13 config ARCH_INLINE_SPIN_LOCK_BH
14         bool
16 config ARCH_INLINE_SPIN_LOCK_IRQ
17         bool
19 config ARCH_INLINE_SPIN_LOCK_IRQSAVE
20         bool
22 config ARCH_INLINE_SPIN_UNLOCK
23         bool
25 config ARCH_INLINE_SPIN_UNLOCK_BH
26         bool
28 config ARCH_INLINE_SPIN_UNLOCK_IRQ
29         bool
31 config ARCH_INLINE_SPIN_UNLOCK_IRQRESTORE
32         bool
35 config ARCH_INLINE_READ_TRYLOCK
36         bool
38 config ARCH_INLINE_READ_LOCK
39         bool
41 config ARCH_INLINE_READ_LOCK_BH
42         bool
44 config ARCH_INLINE_READ_LOCK_IRQ
45         bool
47 config ARCH_INLINE_READ_LOCK_IRQSAVE
48         bool
50 config ARCH_INLINE_READ_UNLOCK
51         bool
53 config ARCH_INLINE_READ_UNLOCK_BH
54         bool
56 config ARCH_INLINE_READ_UNLOCK_IRQ
57         bool
59 config ARCH_INLINE_READ_UNLOCK_IRQRESTORE
60         bool
63 config ARCH_INLINE_WRITE_TRYLOCK
64         bool
66 config ARCH_INLINE_WRITE_LOCK
67         bool
69 config ARCH_INLINE_WRITE_LOCK_BH
70         bool
72 config ARCH_INLINE_WRITE_LOCK_IRQ
73         bool
75 config ARCH_INLINE_WRITE_LOCK_IRQSAVE
76         bool
78 config ARCH_INLINE_WRITE_UNLOCK
79         bool
81 config ARCH_INLINE_WRITE_UNLOCK_BH
82         bool
84 config ARCH_INLINE_WRITE_UNLOCK_IRQ
85         bool
87 config ARCH_INLINE_WRITE_UNLOCK_IRQRESTORE
88         bool
90 config UNINLINE_SPIN_UNLOCK
91         bool
94 # lock_* functions are inlined when:
95 #   - DEBUG_SPINLOCK=n and GENERIC_LOCKBREAK=n and ARCH_INLINE_*LOCK=y
97 # trylock_* functions are inlined when:
98 #   - DEBUG_SPINLOCK=n and ARCH_INLINE_*LOCK=y
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
105 # unlock_bh and unlock_irqrestore functions are inlined when:
106 #   - DEBUG_SPINLOCK=n and ARCH_INLINE_*LOCK=y
109 if !DEBUG_SPINLOCK
111 config INLINE_SPIN_TRYLOCK
112         def_bool y
113         depends on ARCH_INLINE_SPIN_TRYLOCK
115 config INLINE_SPIN_TRYLOCK_BH
116         def_bool y
117         depends on ARCH_INLINE_SPIN_TRYLOCK_BH
119 config INLINE_SPIN_LOCK
120         def_bool y
121         depends on !GENERIC_LOCKBREAK && ARCH_INLINE_SPIN_LOCK
123 config INLINE_SPIN_LOCK_BH
124         def_bool y
125         depends on !GENERIC_LOCKBREAK && ARCH_INLINE_SPIN_LOCK_BH
127 config INLINE_SPIN_LOCK_IRQ
128         def_bool y
129         depends on !GENERIC_LOCKBREAK && ARCH_INLINE_SPIN_LOCK_IRQ
131 config INLINE_SPIN_LOCK_IRQSAVE
132         def_bool y
133         depends on !GENERIC_LOCKBREAK && ARCH_INLINE_SPIN_LOCK_IRQSAVE
135 config INLINE_SPIN_UNLOCK_BH
136         def_bool y
137         depends on ARCH_INLINE_SPIN_UNLOCK_BH
139 config INLINE_SPIN_UNLOCK_IRQ
140         def_bool y
141         depends on !PREEMPT || ARCH_INLINE_SPIN_UNLOCK_IRQ
143 config INLINE_SPIN_UNLOCK_IRQRESTORE
144         def_bool y
145         depends on ARCH_INLINE_SPIN_UNLOCK_IRQRESTORE
148 config INLINE_READ_TRYLOCK
149         def_bool y
150         depends on ARCH_INLINE_READ_TRYLOCK
152 config INLINE_READ_LOCK
153         def_bool y
154         depends on !GENERIC_LOCKBREAK && ARCH_INLINE_READ_LOCK
156 config INLINE_READ_LOCK_BH
157         def_bool y
158         depends on !GENERIC_LOCKBREAK && ARCH_INLINE_READ_LOCK_BH
160 config INLINE_READ_LOCK_IRQ
161         def_bool y
162         depends on !GENERIC_LOCKBREAK && ARCH_INLINE_READ_LOCK_IRQ
164 config INLINE_READ_LOCK_IRQSAVE
165         def_bool y
166         depends on !GENERIC_LOCKBREAK && ARCH_INLINE_READ_LOCK_IRQSAVE
168 config INLINE_READ_UNLOCK
169         def_bool y
170         depends on !PREEMPT || ARCH_INLINE_READ_UNLOCK
172 config INLINE_READ_UNLOCK_BH
173         def_bool y
174         depends on ARCH_INLINE_READ_UNLOCK_BH
176 config INLINE_READ_UNLOCK_IRQ
177         def_bool y
178         depends on !PREEMPT || ARCH_INLINE_READ_UNLOCK_IRQ
180 config INLINE_READ_UNLOCK_IRQRESTORE
181         def_bool y
182         depends on ARCH_INLINE_READ_UNLOCK_IRQRESTORE
185 config INLINE_WRITE_TRYLOCK
186         def_bool y
187         depends on ARCH_INLINE_WRITE_TRYLOCK
189 config INLINE_WRITE_LOCK
190         def_bool y
191         depends on !GENERIC_LOCKBREAK && ARCH_INLINE_WRITE_LOCK
193 config INLINE_WRITE_LOCK_BH
194         def_bool y
195         depends on !GENERIC_LOCKBREAK && ARCH_INLINE_WRITE_LOCK_BH
197 config INLINE_WRITE_LOCK_IRQ
198         def_bool y
199         depends on !GENERIC_LOCKBREAK && ARCH_INLINE_WRITE_LOCK_IRQ
201 config INLINE_WRITE_LOCK_IRQSAVE
202         def_bool y
203         depends on !GENERIC_LOCKBREAK && ARCH_INLINE_WRITE_LOCK_IRQSAVE
205 config INLINE_WRITE_UNLOCK
206         def_bool y
207         depends on !PREEMPT || ARCH_INLINE_WRITE_UNLOCK
209 config INLINE_WRITE_UNLOCK_BH
210         def_bool y
211         depends on ARCH_INLINE_WRITE_UNLOCK_BH
213 config INLINE_WRITE_UNLOCK_IRQ
214         def_bool y
215         depends on !PREEMPT || ARCH_INLINE_WRITE_UNLOCK_IRQ
217 config INLINE_WRITE_UNLOCK_IRQRESTORE
218         def_bool y
219         depends on ARCH_INLINE_WRITE_UNLOCK_IRQRESTORE
221 endif
223 config ARCH_SUPPORTS_ATOMIC_RMW
224         bool
226 config MUTEX_SPIN_ON_OWNER
227         def_bool y
228         depends on SMP && ARCH_SUPPORTS_ATOMIC_RMW
230 config RWSEM_SPIN_ON_OWNER
231        def_bool y
232        depends on SMP && RWSEM_XCHGADD_ALGORITHM && ARCH_SUPPORTS_ATOMIC_RMW
234 config LOCK_SPIN_ON_OWNER
235        def_bool y
236        depends on MUTEX_SPIN_ON_OWNER || RWSEM_SPIN_ON_OWNER
238 config ARCH_USE_QUEUED_SPINLOCKS
239         bool
241 config QUEUED_SPINLOCKS
242         def_bool y if ARCH_USE_QUEUED_SPINLOCKS
243         depends on SMP
245 config ARCH_USE_QUEUED_RWLOCKS
246         bool
248 config QUEUED_RWLOCKS
249         def_bool y if ARCH_USE_QUEUED_RWLOCKS
250         depends on SMP