]> git.ipfire.org Git - thirdparty/linux.git/blame - kernel/Kconfig.locks
Merge tag 'for-6.9-rc7-tag' of git://git.kernel.org/pub/scm/linux/kernel/git/kdave...
[thirdparty/linux.git] / kernel / Kconfig.locks
CommitLineData
ec8f24b7 1# SPDX-License-Identifier: GPL-2.0-only
6beb0009
TG
2#
3# The ARCH_INLINE foo is necessary because select ignores "depends on"
4#
5config ARCH_INLINE_SPIN_TRYLOCK
6 bool
7
8config ARCH_INLINE_SPIN_TRYLOCK_BH
9 bool
10
11config ARCH_INLINE_SPIN_LOCK
12 bool
13
14config ARCH_INLINE_SPIN_LOCK_BH
15 bool
16
17config ARCH_INLINE_SPIN_LOCK_IRQ
18 bool
19
20config ARCH_INLINE_SPIN_LOCK_IRQSAVE
21 bool
22
23config ARCH_INLINE_SPIN_UNLOCK
24 bool
25
26config ARCH_INLINE_SPIN_UNLOCK_BH
27 bool
28
29config ARCH_INLINE_SPIN_UNLOCK_IRQ
30 bool
31
32config ARCH_INLINE_SPIN_UNLOCK_IRQRESTORE
33 bool
34
35
36config ARCH_INLINE_READ_TRYLOCK
37 bool
38
39config ARCH_INLINE_READ_LOCK
40 bool
41
42config ARCH_INLINE_READ_LOCK_BH
43 bool
44
45config ARCH_INLINE_READ_LOCK_IRQ
46 bool
47
48config ARCH_INLINE_READ_LOCK_IRQSAVE
49 bool
50
51config ARCH_INLINE_READ_UNLOCK
52 bool
53
54config ARCH_INLINE_READ_UNLOCK_BH
55 bool
56
57config ARCH_INLINE_READ_UNLOCK_IRQ
58 bool
59
60config ARCH_INLINE_READ_UNLOCK_IRQRESTORE
61 bool
62
63
64config ARCH_INLINE_WRITE_TRYLOCK
65 bool
66
67config ARCH_INLINE_WRITE_LOCK
68 bool
69
70config ARCH_INLINE_WRITE_LOCK_BH
71 bool
72
73config ARCH_INLINE_WRITE_LOCK_IRQ
74 bool
75
76config ARCH_INLINE_WRITE_LOCK_IRQSAVE
77 bool
78
79config ARCH_INLINE_WRITE_UNLOCK
80 bool
81
82config ARCH_INLINE_WRITE_UNLOCK_BH
83 bool
84
85config ARCH_INLINE_WRITE_UNLOCK_IRQ
86 bool
87
88config ARCH_INLINE_WRITE_UNLOCK_IRQRESTORE
89 bool
90
4fe84fb8
JB
91config UNINLINE_SPIN_UNLOCK
92 bool
93
6beb0009
TG
94#
95# lock_* functions are inlined when:
96# - DEBUG_SPINLOCK=n and GENERIC_LOCKBREAK=n and ARCH_INLINE_*LOCK=y
97#
98# trylock_* functions are inlined when:
99# - DEBUG_SPINLOCK=n and ARCH_INLINE_*LOCK=y
100#
101# unlock and unlock_irq functions are inlined when:
102# - DEBUG_SPINLOCK=n and ARCH_INLINE_*LOCK=y
103# or
1b40cd56 104# - DEBUG_SPINLOCK=n and PREEMPTION=n
6beb0009
TG
105#
106# unlock_bh and unlock_irqrestore functions are inlined when:
107# - DEBUG_SPINLOCK=n and ARCH_INLINE_*LOCK=y
108#
109
4fe84fb8
JB
110if !DEBUG_SPINLOCK
111
6beb0009 112config INLINE_SPIN_TRYLOCK
4fe84fb8
JB
113 def_bool y
114 depends on ARCH_INLINE_SPIN_TRYLOCK
6beb0009
TG
115
116config INLINE_SPIN_TRYLOCK_BH
4fe84fb8
JB
117 def_bool y
118 depends on ARCH_INLINE_SPIN_TRYLOCK_BH
6beb0009
TG
119
120config INLINE_SPIN_LOCK
4fe84fb8
JB
121 def_bool y
122 depends on !GENERIC_LOCKBREAK && ARCH_INLINE_SPIN_LOCK
6beb0009
TG
123
124config INLINE_SPIN_LOCK_BH
4fe84fb8
JB
125 def_bool y
126 depends on !GENERIC_LOCKBREAK && ARCH_INLINE_SPIN_LOCK_BH
6beb0009
TG
127
128config INLINE_SPIN_LOCK_IRQ
4fe84fb8
JB
129 def_bool y
130 depends on !GENERIC_LOCKBREAK && ARCH_INLINE_SPIN_LOCK_IRQ
6beb0009
TG
131
132config INLINE_SPIN_LOCK_IRQSAVE
4fe84fb8
JB
133 def_bool y
134 depends on !GENERIC_LOCKBREAK && ARCH_INLINE_SPIN_LOCK_IRQSAVE
6beb0009
TG
135
136config INLINE_SPIN_UNLOCK_BH
4fe84fb8
JB
137 def_bool y
138 depends on ARCH_INLINE_SPIN_UNLOCK_BH
6beb0009
TG
139
140config INLINE_SPIN_UNLOCK_IRQ
4fe84fb8 141 def_bool y
1b40cd56 142 depends on !PREEMPTION || ARCH_INLINE_SPIN_UNLOCK_IRQ
6beb0009
TG
143
144config INLINE_SPIN_UNLOCK_IRQRESTORE
4fe84fb8
JB
145 def_bool y
146 depends on ARCH_INLINE_SPIN_UNLOCK_IRQRESTORE
6beb0009
TG
147
148
149config INLINE_READ_TRYLOCK
4fe84fb8
JB
150 def_bool y
151 depends on ARCH_INLINE_READ_TRYLOCK
6beb0009
TG
152
153config INLINE_READ_LOCK
4fe84fb8
JB
154 def_bool y
155 depends on !GENERIC_LOCKBREAK && ARCH_INLINE_READ_LOCK
6beb0009
TG
156
157config INLINE_READ_LOCK_BH
4fe84fb8
JB
158 def_bool y
159 depends on !GENERIC_LOCKBREAK && ARCH_INLINE_READ_LOCK_BH
6beb0009
TG
160
161config INLINE_READ_LOCK_IRQ
4fe84fb8
JB
162 def_bool y
163 depends on !GENERIC_LOCKBREAK && ARCH_INLINE_READ_LOCK_IRQ
6beb0009
TG
164
165config INLINE_READ_LOCK_IRQSAVE
4fe84fb8
JB
166 def_bool y
167 depends on !GENERIC_LOCKBREAK && ARCH_INLINE_READ_LOCK_IRQSAVE
6beb0009
TG
168
169config INLINE_READ_UNLOCK
4fe84fb8 170 def_bool y
1b40cd56 171 depends on !PREEMPTION || ARCH_INLINE_READ_UNLOCK
6beb0009
TG
172
173config INLINE_READ_UNLOCK_BH
4fe84fb8
JB
174 def_bool y
175 depends on ARCH_INLINE_READ_UNLOCK_BH
6beb0009
TG
176
177config INLINE_READ_UNLOCK_IRQ
4fe84fb8 178 def_bool y
1b40cd56 179 depends on !PREEMPTION || ARCH_INLINE_READ_UNLOCK_IRQ
6beb0009
TG
180
181config INLINE_READ_UNLOCK_IRQRESTORE
4fe84fb8
JB
182 def_bool y
183 depends on ARCH_INLINE_READ_UNLOCK_IRQRESTORE
6beb0009
TG
184
185
186config INLINE_WRITE_TRYLOCK
4fe84fb8
JB
187 def_bool y
188 depends on ARCH_INLINE_WRITE_TRYLOCK
6beb0009
TG
189
190config INLINE_WRITE_LOCK
4fe84fb8
JB
191 def_bool y
192 depends on !GENERIC_LOCKBREAK && ARCH_INLINE_WRITE_LOCK
6beb0009
TG
193
194config INLINE_WRITE_LOCK_BH
4fe84fb8
JB
195 def_bool y
196 depends on !GENERIC_LOCKBREAK && ARCH_INLINE_WRITE_LOCK_BH
6beb0009
TG
197
198config INLINE_WRITE_LOCK_IRQ
4fe84fb8
JB
199 def_bool y
200 depends on !GENERIC_LOCKBREAK && ARCH_INLINE_WRITE_LOCK_IRQ
6beb0009
TG
201
202config INLINE_WRITE_LOCK_IRQSAVE
4fe84fb8
JB
203 def_bool y
204 depends on !GENERIC_LOCKBREAK && ARCH_INLINE_WRITE_LOCK_IRQSAVE
6beb0009
TG
205
206config INLINE_WRITE_UNLOCK
4fe84fb8 207 def_bool y
1b40cd56 208 depends on !PREEMPTION || ARCH_INLINE_WRITE_UNLOCK
6beb0009
TG
209
210config INLINE_WRITE_UNLOCK_BH
4fe84fb8
JB
211 def_bool y
212 depends on ARCH_INLINE_WRITE_UNLOCK_BH
6beb0009
TG
213
214config INLINE_WRITE_UNLOCK_IRQ
4fe84fb8 215 def_bool y
1b40cd56 216 depends on !PREEMPTION || ARCH_INLINE_WRITE_UNLOCK_IRQ
6beb0009
TG
217
218config INLINE_WRITE_UNLOCK_IRQRESTORE
4fe84fb8
JB
219 def_bool y
220 depends on ARCH_INLINE_WRITE_UNLOCK_IRQRESTORE
221
222endif
c0226027 223
4badad35
PZ
224config ARCH_SUPPORTS_ATOMIC_RMW
225 bool
226
c0226027 227config MUTEX_SPIN_ON_OWNER
4fe84fb8 228 def_bool y
a3ea3d9b 229 depends on SMP && ARCH_SUPPORTS_ATOMIC_RMW
70af2f8a 230
5db6c6fe
DB
231config RWSEM_SPIN_ON_OWNER
232 def_bool y
390a0c62 233 depends on SMP && ARCH_SUPPORTS_ATOMIC_RMW
5db6c6fe 234
d84b6728
DB
235config LOCK_SPIN_ON_OWNER
236 def_bool y
237 depends on MUTEX_SPIN_ON_OWNER || RWSEM_SPIN_ON_OWNER
238
62c7a1e9 239config ARCH_USE_QUEUED_SPINLOCKS
a33fda35
WL
240 bool
241
62c7a1e9
IM
242config QUEUED_SPINLOCKS
243 def_bool y if ARCH_USE_QUEUED_SPINLOCKS
e95e6f17 244 depends on SMP
a33fda35 245
d83525ca
AS
246config BPF_ARCH_SPINLOCK
247 bool
248
c7114b4e 249config ARCH_USE_QUEUED_RWLOCKS
70af2f8a
WL
250 bool
251
c7114b4e
WL
252config QUEUED_RWLOCKS
253 def_bool y if ARCH_USE_QUEUED_RWLOCKS
8282947f 254 depends on SMP && !PREEMPT_RT
d1be6a28
WD
255
256config ARCH_HAS_MMIOWB
257 bool
258
259config MMIOWB
260 def_bool y if ARCH_HAS_MMIOWB
261 depends on SMP