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