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