2 # The ARCH_INLINE foo is necessary because select ignores "depends on"
4 config ARCH_INLINE_SPIN_TRYLOCK
7 config ARCH_INLINE_SPIN_TRYLOCK_BH
10 config ARCH_INLINE_SPIN_LOCK
13 config ARCH_INLINE_SPIN_LOCK_BH
16 config ARCH_INLINE_SPIN_LOCK_IRQ
19 config ARCH_INLINE_SPIN_LOCK_IRQSAVE
22 config ARCH_INLINE_SPIN_UNLOCK
25 config ARCH_INLINE_SPIN_UNLOCK_BH
28 config ARCH_INLINE_SPIN_UNLOCK_IRQ
31 config ARCH_INLINE_SPIN_UNLOCK_IRQRESTORE
35 config ARCH_INLINE_READ_TRYLOCK
38 config ARCH_INLINE_READ_LOCK
41 config ARCH_INLINE_READ_LOCK_BH
44 config ARCH_INLINE_READ_LOCK_IRQ
47 config ARCH_INLINE_READ_LOCK_IRQSAVE
50 config ARCH_INLINE_READ_UNLOCK
53 config ARCH_INLINE_READ_UNLOCK_BH
56 config ARCH_INLINE_READ_UNLOCK_IRQ
59 config ARCH_INLINE_READ_UNLOCK_IRQRESTORE
63 config ARCH_INLINE_WRITE_TRYLOCK
66 config ARCH_INLINE_WRITE_LOCK
69 config ARCH_INLINE_WRITE_LOCK_BH
72 config ARCH_INLINE_WRITE_LOCK_IRQ
75 config ARCH_INLINE_WRITE_LOCK_IRQSAVE
78 config ARCH_INLINE_WRITE_UNLOCK
81 config ARCH_INLINE_WRITE_UNLOCK_BH
84 config ARCH_INLINE_WRITE_UNLOCK_IRQ
87 config ARCH_INLINE_WRITE_UNLOCK_IRQRESTORE
91 # lock_* functions are inlined when:
92 # - DEBUG_SPINLOCK=n and GENERIC_LOCKBREAK=n and ARCH_INLINE_*LOCK=y
94 # trylock_* functions are inlined when:
95 # - DEBUG_SPINLOCK=n and ARCH_INLINE_*LOCK=y
97 # unlock and unlock_irq functions are inlined when:
98 # - DEBUG_SPINLOCK=n and ARCH_INLINE_*LOCK=y
100 # - DEBUG_SPINLOCK=n and PREEMPT=n
102 # unlock_bh and unlock_irqrestore functions are inlined when:
103 # - DEBUG_SPINLOCK=n and ARCH_INLINE_*LOCK=y
106 config INLINE_SPIN_TRYLOCK
107 def_bool !DEBUG_SPINLOCK && ARCH_INLINE_SPIN_TRYLOCK
109 config INLINE_SPIN_TRYLOCK_BH
110 def_bool !DEBUG_SPINLOCK && ARCH_INLINE_SPIN_TRYLOCK_BH
112 config INLINE_SPIN_LOCK
113 def_bool !DEBUG_SPINLOCK && !GENERIC_LOCKBREAK && ARCH_INLINE_SPIN_LOCK
115 config INLINE_SPIN_LOCK_BH
116 def_bool !DEBUG_SPINLOCK && !GENERIC_LOCKBREAK && \
117 ARCH_INLINE_SPIN_LOCK_BH
119 config INLINE_SPIN_LOCK_IRQ
120 def_bool !DEBUG_SPINLOCK && !GENERIC_LOCKBREAK && \
121 ARCH_INLINE_SPIN_LOCK_IRQ
123 config INLINE_SPIN_LOCK_IRQSAVE
124 def_bool !DEBUG_SPINLOCK && !GENERIC_LOCKBREAK && \
125 ARCH_INLINE_SPIN_LOCK_IRQSAVE
127 config UNINLINE_SPIN_UNLOCK
130 config INLINE_SPIN_UNLOCK_BH
131 def_bool !DEBUG_SPINLOCK && ARCH_INLINE_SPIN_UNLOCK_BH
133 config INLINE_SPIN_UNLOCK_IRQ
134 def_bool !DEBUG_SPINLOCK && (!PREEMPT || ARCH_INLINE_SPIN_UNLOCK_BH)
136 config INLINE_SPIN_UNLOCK_IRQRESTORE
137 def_bool !DEBUG_SPINLOCK && ARCH_INLINE_SPIN_UNLOCK_IRQRESTORE
140 config INLINE_READ_TRYLOCK
141 def_bool !DEBUG_SPINLOCK && ARCH_INLINE_READ_TRYLOCK
143 config INLINE_READ_LOCK
144 def_bool !DEBUG_SPINLOCK && !GENERIC_LOCKBREAK && ARCH_INLINE_READ_LOCK
146 config INLINE_READ_LOCK_BH
147 def_bool !DEBUG_SPINLOCK && !GENERIC_LOCKBREAK && \
148 ARCH_INLINE_READ_LOCK_BH
150 config INLINE_READ_LOCK_IRQ
151 def_bool !DEBUG_SPINLOCK && !GENERIC_LOCKBREAK && \
152 ARCH_INLINE_READ_LOCK_IRQ
154 config INLINE_READ_LOCK_IRQSAVE
155 def_bool !DEBUG_SPINLOCK && !GENERIC_LOCKBREAK && \
156 ARCH_INLINE_READ_LOCK_IRQSAVE
158 config INLINE_READ_UNLOCK
159 def_bool !DEBUG_SPINLOCK && (!PREEMPT || ARCH_INLINE_READ_UNLOCK)
161 config INLINE_READ_UNLOCK_BH
162 def_bool !DEBUG_SPINLOCK && ARCH_INLINE_READ_UNLOCK_BH
164 config INLINE_READ_UNLOCK_IRQ
165 def_bool !DEBUG_SPINLOCK && (!PREEMPT || ARCH_INLINE_READ_UNLOCK_BH)
167 config INLINE_READ_UNLOCK_IRQRESTORE
168 def_bool !DEBUG_SPINLOCK && ARCH_INLINE_READ_UNLOCK_IRQRESTORE
171 config INLINE_WRITE_TRYLOCK
172 def_bool !DEBUG_SPINLOCK && ARCH_INLINE_WRITE_TRYLOCK
174 config INLINE_WRITE_LOCK
175 def_bool !DEBUG_SPINLOCK && !GENERIC_LOCKBREAK && ARCH_INLINE_WRITE_LOCK
177 config INLINE_WRITE_LOCK_BH
178 def_bool !DEBUG_SPINLOCK && !GENERIC_LOCKBREAK && \
179 ARCH_INLINE_WRITE_LOCK_BH
181 config INLINE_WRITE_LOCK_IRQ
182 def_bool !DEBUG_SPINLOCK && !GENERIC_LOCKBREAK && \
183 ARCH_INLINE_WRITE_LOCK_IRQ
185 config INLINE_WRITE_LOCK_IRQSAVE
186 def_bool !DEBUG_SPINLOCK && !GENERIC_LOCKBREAK && \
187 ARCH_INLINE_WRITE_LOCK_IRQSAVE
189 config INLINE_WRITE_UNLOCK
190 def_bool !DEBUG_SPINLOCK && (!PREEMPT || ARCH_INLINE_WRITE_UNLOCK)
192 config INLINE_WRITE_UNLOCK_BH
193 def_bool !DEBUG_SPINLOCK && ARCH_INLINE_WRITE_UNLOCK_BH
195 config INLINE_WRITE_UNLOCK_IRQ
196 def_bool !DEBUG_SPINLOCK && (!PREEMPT || ARCH_INLINE_WRITE_UNLOCK_BH)
198 config INLINE_WRITE_UNLOCK_IRQRESTORE
199 def_bool !DEBUG_SPINLOCK && ARCH_INLINE_WRITE_UNLOCK_IRQRESTORE
201 config MUTEX_SPIN_ON_OWNER
202 def_bool SMP && !DEBUG_MUTEXES