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