Linux Audio

Check our new training course

Loading...
v6.2
  1# SPDX-License-Identifier: GPL-2.0-only
  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
 91config UNINLINE_SPIN_UNLOCK
 92	bool
 93
 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 PREEMPTION=n
105#
106# unlock_bh and unlock_irqrestore functions are inlined when:
107#   - DEBUG_SPINLOCK=n and ARCH_INLINE_*LOCK=y
108#
109
110if !DEBUG_SPINLOCK
111
112config INLINE_SPIN_TRYLOCK
113	def_bool y
114	depends on ARCH_INLINE_SPIN_TRYLOCK
115
116config INLINE_SPIN_TRYLOCK_BH
117	def_bool y
118	depends on ARCH_INLINE_SPIN_TRYLOCK_BH
119
120config INLINE_SPIN_LOCK
121	def_bool y
122	depends on !GENERIC_LOCKBREAK && ARCH_INLINE_SPIN_LOCK
123
124config INLINE_SPIN_LOCK_BH
125	def_bool y
126	depends on !GENERIC_LOCKBREAK && ARCH_INLINE_SPIN_LOCK_BH
127
128config INLINE_SPIN_LOCK_IRQ
129	def_bool y
130	depends on !GENERIC_LOCKBREAK && ARCH_INLINE_SPIN_LOCK_IRQ
131
132config INLINE_SPIN_LOCK_IRQSAVE
133	def_bool y
134	depends on !GENERIC_LOCKBREAK && ARCH_INLINE_SPIN_LOCK_IRQSAVE
135
136config INLINE_SPIN_UNLOCK_BH
137	def_bool y
138	depends on ARCH_INLINE_SPIN_UNLOCK_BH
139
140config INLINE_SPIN_UNLOCK_IRQ
141	def_bool y
142	depends on !PREEMPTION || ARCH_INLINE_SPIN_UNLOCK_IRQ
143
144config INLINE_SPIN_UNLOCK_IRQRESTORE
145	def_bool y
146	depends on ARCH_INLINE_SPIN_UNLOCK_IRQRESTORE
147
148
149config INLINE_READ_TRYLOCK
150	def_bool y
151	depends on ARCH_INLINE_READ_TRYLOCK
152
153config INLINE_READ_LOCK
154	def_bool y
155	depends on !GENERIC_LOCKBREAK && ARCH_INLINE_READ_LOCK
156
157config INLINE_READ_LOCK_BH
158	def_bool y
159	depends on !GENERIC_LOCKBREAK && ARCH_INLINE_READ_LOCK_BH
160
161config INLINE_READ_LOCK_IRQ
162	def_bool y
163	depends on !GENERIC_LOCKBREAK && ARCH_INLINE_READ_LOCK_IRQ
164
165config INLINE_READ_LOCK_IRQSAVE
166	def_bool y
167	depends on !GENERIC_LOCKBREAK && ARCH_INLINE_READ_LOCK_IRQSAVE
168
169config INLINE_READ_UNLOCK
170	def_bool y
171	depends on !PREEMPTION || ARCH_INLINE_READ_UNLOCK
172
173config INLINE_READ_UNLOCK_BH
174	def_bool y
175	depends on ARCH_INLINE_READ_UNLOCK_BH
176
177config INLINE_READ_UNLOCK_IRQ
178	def_bool y
179	depends on !PREEMPTION || ARCH_INLINE_READ_UNLOCK_IRQ
180
181config INLINE_READ_UNLOCK_IRQRESTORE
182	def_bool y
183	depends on ARCH_INLINE_READ_UNLOCK_IRQRESTORE
184
185
186config INLINE_WRITE_TRYLOCK
187	def_bool y
188	depends on ARCH_INLINE_WRITE_TRYLOCK
189
190config INLINE_WRITE_LOCK
191	def_bool y
192	depends on !GENERIC_LOCKBREAK && ARCH_INLINE_WRITE_LOCK
193
194config INLINE_WRITE_LOCK_BH
195	def_bool y
196	depends on !GENERIC_LOCKBREAK && ARCH_INLINE_WRITE_LOCK_BH
197
198config INLINE_WRITE_LOCK_IRQ
199	def_bool y
200	depends on !GENERIC_LOCKBREAK && ARCH_INLINE_WRITE_LOCK_IRQ
201
202config INLINE_WRITE_LOCK_IRQSAVE
203	def_bool y
204	depends on !GENERIC_LOCKBREAK && ARCH_INLINE_WRITE_LOCK_IRQSAVE
205
206config INLINE_WRITE_UNLOCK
207	def_bool y
208	depends on !PREEMPTION || ARCH_INLINE_WRITE_UNLOCK
209
210config INLINE_WRITE_UNLOCK_BH
211	def_bool y
212	depends on ARCH_INLINE_WRITE_UNLOCK_BH
213
214config INLINE_WRITE_UNLOCK_IRQ
215	def_bool y
216	depends on !PREEMPTION || ARCH_INLINE_WRITE_UNLOCK_IRQ
217
218config INLINE_WRITE_UNLOCK_IRQRESTORE
219	def_bool y
220	depends on ARCH_INLINE_WRITE_UNLOCK_IRQRESTORE
221
222endif
223
224config ARCH_SUPPORTS_ATOMIC_RMW
225	bool
226
227config MUTEX_SPIN_ON_OWNER
228	def_bool y
229	depends on SMP && ARCH_SUPPORTS_ATOMIC_RMW
230
231config RWSEM_SPIN_ON_OWNER
232       def_bool y
233       depends on SMP && ARCH_SUPPORTS_ATOMIC_RMW
234
235config LOCK_SPIN_ON_OWNER
236       def_bool y
237       depends on MUTEX_SPIN_ON_OWNER || RWSEM_SPIN_ON_OWNER
238
239config ARCH_USE_QUEUED_SPINLOCKS
240	bool
241
242config QUEUED_SPINLOCKS
243	def_bool y if ARCH_USE_QUEUED_SPINLOCKS
244	depends on SMP
245
246config BPF_ARCH_SPINLOCK
247	bool
248
249config ARCH_USE_QUEUED_RWLOCKS
250	bool
251
252config QUEUED_RWLOCKS
253	def_bool y if ARCH_USE_QUEUED_RWLOCKS
254	depends on SMP && !PREEMPT_RT
255
256config ARCH_HAS_MMIOWB
257	bool
258
259config MMIOWB
260	def_bool y if ARCH_HAS_MMIOWB
261	depends on SMP
v6.8
  1# SPDX-License-Identifier: GPL-2.0-only
  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
 91config UNINLINE_SPIN_UNLOCK
 92	bool
 93
 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 PREEMPTION=n
105#
106# unlock_bh and unlock_irqrestore functions are inlined when:
107#   - DEBUG_SPINLOCK=n and ARCH_INLINE_*LOCK=y
108#
109
110if !DEBUG_SPINLOCK
111
112config INLINE_SPIN_TRYLOCK
113	def_bool y
114	depends on ARCH_INLINE_SPIN_TRYLOCK
115
116config INLINE_SPIN_TRYLOCK_BH
117	def_bool y
118	depends on ARCH_INLINE_SPIN_TRYLOCK_BH
119
120config INLINE_SPIN_LOCK
121	def_bool y
122	depends on !GENERIC_LOCKBREAK && ARCH_INLINE_SPIN_LOCK
123
124config INLINE_SPIN_LOCK_BH
125	def_bool y
126	depends on !GENERIC_LOCKBREAK && ARCH_INLINE_SPIN_LOCK_BH
127
128config INLINE_SPIN_LOCK_IRQ
129	def_bool y
130	depends on !GENERIC_LOCKBREAK && ARCH_INLINE_SPIN_LOCK_IRQ
131
132config INLINE_SPIN_LOCK_IRQSAVE
133	def_bool y
134	depends on !GENERIC_LOCKBREAK && ARCH_INLINE_SPIN_LOCK_IRQSAVE
135
136config INLINE_SPIN_UNLOCK_BH
137	def_bool y
138	depends on ARCH_INLINE_SPIN_UNLOCK_BH
139
140config INLINE_SPIN_UNLOCK_IRQ
141	def_bool y
142	depends on !PREEMPTION || ARCH_INLINE_SPIN_UNLOCK_IRQ
143
144config INLINE_SPIN_UNLOCK_IRQRESTORE
145	def_bool y
146	depends on ARCH_INLINE_SPIN_UNLOCK_IRQRESTORE
147
148
149config INLINE_READ_TRYLOCK
150	def_bool y
151	depends on ARCH_INLINE_READ_TRYLOCK
152
153config INLINE_READ_LOCK
154	def_bool y
155	depends on !GENERIC_LOCKBREAK && ARCH_INLINE_READ_LOCK
156
157config INLINE_READ_LOCK_BH
158	def_bool y
159	depends on !GENERIC_LOCKBREAK && ARCH_INLINE_READ_LOCK_BH
160
161config INLINE_READ_LOCK_IRQ
162	def_bool y
163	depends on !GENERIC_LOCKBREAK && ARCH_INLINE_READ_LOCK_IRQ
164
165config INLINE_READ_LOCK_IRQSAVE
166	def_bool y
167	depends on !GENERIC_LOCKBREAK && ARCH_INLINE_READ_LOCK_IRQSAVE
168
169config INLINE_READ_UNLOCK
170	def_bool y
171	depends on !PREEMPTION || ARCH_INLINE_READ_UNLOCK
172
173config INLINE_READ_UNLOCK_BH
174	def_bool y
175	depends on ARCH_INLINE_READ_UNLOCK_BH
176
177config INLINE_READ_UNLOCK_IRQ
178	def_bool y
179	depends on !PREEMPTION || ARCH_INLINE_READ_UNLOCK_IRQ
180
181config INLINE_READ_UNLOCK_IRQRESTORE
182	def_bool y
183	depends on ARCH_INLINE_READ_UNLOCK_IRQRESTORE
184
185
186config INLINE_WRITE_TRYLOCK
187	def_bool y
188	depends on ARCH_INLINE_WRITE_TRYLOCK
189
190config INLINE_WRITE_LOCK
191	def_bool y
192	depends on !GENERIC_LOCKBREAK && ARCH_INLINE_WRITE_LOCK
193
194config INLINE_WRITE_LOCK_BH
195	def_bool y
196	depends on !GENERIC_LOCKBREAK && ARCH_INLINE_WRITE_LOCK_BH
197
198config INLINE_WRITE_LOCK_IRQ
199	def_bool y
200	depends on !GENERIC_LOCKBREAK && ARCH_INLINE_WRITE_LOCK_IRQ
201
202config INLINE_WRITE_LOCK_IRQSAVE
203	def_bool y
204	depends on !GENERIC_LOCKBREAK && ARCH_INLINE_WRITE_LOCK_IRQSAVE
205
206config INLINE_WRITE_UNLOCK
207	def_bool y
208	depends on !PREEMPTION || ARCH_INLINE_WRITE_UNLOCK
209
210config INLINE_WRITE_UNLOCK_BH
211	def_bool y
212	depends on ARCH_INLINE_WRITE_UNLOCK_BH
213
214config INLINE_WRITE_UNLOCK_IRQ
215	def_bool y
216	depends on !PREEMPTION || ARCH_INLINE_WRITE_UNLOCK_IRQ
217
218config INLINE_WRITE_UNLOCK_IRQRESTORE
219	def_bool y
220	depends on ARCH_INLINE_WRITE_UNLOCK_IRQRESTORE
221
222endif
223
224config ARCH_SUPPORTS_ATOMIC_RMW
225	bool
226
227config MUTEX_SPIN_ON_OWNER
228	def_bool y
229	depends on SMP && ARCH_SUPPORTS_ATOMIC_RMW
230
231config RWSEM_SPIN_ON_OWNER
232       def_bool y
233       depends on SMP && ARCH_SUPPORTS_ATOMIC_RMW
234
235config LOCK_SPIN_ON_OWNER
236       def_bool y
237       depends on MUTEX_SPIN_ON_OWNER || RWSEM_SPIN_ON_OWNER
238
239config ARCH_USE_QUEUED_SPINLOCKS
240	bool
241
242config QUEUED_SPINLOCKS
243	def_bool y if ARCH_USE_QUEUED_SPINLOCKS
244	depends on SMP
245
246config BPF_ARCH_SPINLOCK
247	bool
248
249config ARCH_USE_QUEUED_RWLOCKS
250	bool
251
252config QUEUED_RWLOCKS
253	def_bool y if ARCH_USE_QUEUED_RWLOCKS
254	depends on SMP && !PREEMPT_RT
255
256config ARCH_HAS_MMIOWB
257	bool
258
259config MMIOWB
260	def_bool y if ARCH_HAS_MMIOWB
261	depends on SMP