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