irq: Track the owner of irq descriptor
[linux-2.6.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 #
91 # lock_* functions are inlined when:
92 #   - DEBUG_SPINLOCK=n and GENERIC_LOCKBREAK=n and ARCH_INLINE_*LOCK=y
93 #
94 # trylock_* functions are inlined when:
95 #   - DEBUG_SPINLOCK=n and ARCH_INLINE_*LOCK=y
96 #
97 # unlock and unlock_irq functions are inlined when:
98 #   - DEBUG_SPINLOCK=n and ARCH_INLINE_*LOCK=y
99 #  or
100 #   - DEBUG_SPINLOCK=n and PREEMPT=n
101 #
102 # unlock_bh and unlock_irqrestore functions are inlined when:
103 #   - DEBUG_SPINLOCK=n and ARCH_INLINE_*LOCK=y
104 #
105
106 config INLINE_SPIN_TRYLOCK
107         def_bool !DEBUG_SPINLOCK && ARCH_INLINE_SPIN_TRYLOCK
108
109 config INLINE_SPIN_TRYLOCK_BH
110         def_bool !DEBUG_SPINLOCK && ARCH_INLINE_SPIN_TRYLOCK_BH
111
112 config INLINE_SPIN_LOCK
113         def_bool !DEBUG_SPINLOCK && !GENERIC_LOCKBREAK && ARCH_INLINE_SPIN_LOCK
114
115 config INLINE_SPIN_LOCK_BH
116         def_bool !DEBUG_SPINLOCK && !GENERIC_LOCKBREAK && \
117                  ARCH_INLINE_SPIN_LOCK_BH
118
119 config INLINE_SPIN_LOCK_IRQ
120         def_bool !DEBUG_SPINLOCK && !GENERIC_LOCKBREAK && \
121                  ARCH_INLINE_SPIN_LOCK_IRQ
122
123 config INLINE_SPIN_LOCK_IRQSAVE
124         def_bool !DEBUG_SPINLOCK && !GENERIC_LOCKBREAK && \
125                  ARCH_INLINE_SPIN_LOCK_IRQSAVE
126
127 config INLINE_SPIN_UNLOCK
128         def_bool !DEBUG_SPINLOCK && (!PREEMPT || ARCH_INLINE_SPIN_UNLOCK)
129
130 config INLINE_SPIN_UNLOCK_BH
131         def_bool !DEBUG_SPINLOCK && ARCH_INLINE_SPIN_UNLOCK_BH
132
133 config INLINE_SPIN_UNLOCK_IRQ
134         def_bool !DEBUG_SPINLOCK && (!PREEMPT || ARCH_INLINE_SPIN_UNLOCK_BH)
135
136 config INLINE_SPIN_UNLOCK_IRQRESTORE
137         def_bool !DEBUG_SPINLOCK && ARCH_INLINE_SPIN_UNLOCK_IRQRESTORE
138
139
140 config INLINE_READ_TRYLOCK
141         def_bool !DEBUG_SPINLOCK && ARCH_INLINE_READ_TRYLOCK
142
143 config INLINE_READ_LOCK
144         def_bool !DEBUG_SPINLOCK && !GENERIC_LOCKBREAK && ARCH_INLINE_READ_LOCK
145
146 config INLINE_READ_LOCK_BH
147         def_bool !DEBUG_SPINLOCK && !GENERIC_LOCKBREAK && \
148                  ARCH_INLINE_READ_LOCK_BH
149
150 config INLINE_READ_LOCK_IRQ
151         def_bool !DEBUG_SPINLOCK && !GENERIC_LOCKBREAK && \
152                  ARCH_INLINE_READ_LOCK_IRQ
153
154 config INLINE_READ_LOCK_IRQSAVE
155         def_bool !DEBUG_SPINLOCK && !GENERIC_LOCKBREAK && \
156                  ARCH_INLINE_READ_LOCK_IRQSAVE
157
158 config INLINE_READ_UNLOCK
159         def_bool !DEBUG_SPINLOCK && (!PREEMPT || ARCH_INLINE_READ_UNLOCK)
160
161 config INLINE_READ_UNLOCK_BH
162         def_bool !DEBUG_SPINLOCK && ARCH_INLINE_READ_UNLOCK_BH
163
164 config INLINE_READ_UNLOCK_IRQ
165         def_bool !DEBUG_SPINLOCK && (!PREEMPT || ARCH_INLINE_READ_UNLOCK_BH)
166
167 config INLINE_READ_UNLOCK_IRQRESTORE
168         def_bool !DEBUG_SPINLOCK && ARCH_INLINE_READ_UNLOCK_IRQRESTORE
169
170
171 config INLINE_WRITE_TRYLOCK
172         def_bool !DEBUG_SPINLOCK && ARCH_INLINE_WRITE_TRYLOCK
173
174 config INLINE_WRITE_LOCK
175         def_bool !DEBUG_SPINLOCK && !GENERIC_LOCKBREAK && ARCH_INLINE_WRITE_LOCK
176
177 config INLINE_WRITE_LOCK_BH
178         def_bool !DEBUG_SPINLOCK && !GENERIC_LOCKBREAK && \
179                  ARCH_INLINE_WRITE_LOCK_BH
180
181 config INLINE_WRITE_LOCK_IRQ
182         def_bool !DEBUG_SPINLOCK && !GENERIC_LOCKBREAK && \
183                  ARCH_INLINE_WRITE_LOCK_IRQ
184
185 config INLINE_WRITE_LOCK_IRQSAVE
186         def_bool !DEBUG_SPINLOCK && !GENERIC_LOCKBREAK && \
187                  ARCH_INLINE_WRITE_LOCK_IRQSAVE
188
189 config INLINE_WRITE_UNLOCK
190         def_bool !DEBUG_SPINLOCK && (!PREEMPT || ARCH_INLINE_WRITE_UNLOCK)
191
192 config INLINE_WRITE_UNLOCK_BH
193         def_bool !DEBUG_SPINLOCK && ARCH_INLINE_WRITE_UNLOCK_BH
194
195 config INLINE_WRITE_UNLOCK_IRQ
196         def_bool !DEBUG_SPINLOCK && (!PREEMPT || ARCH_INLINE_WRITE_UNLOCK_BH)
197
198 config INLINE_WRITE_UNLOCK_IRQRESTORE
199         def_bool !DEBUG_SPINLOCK && ARCH_INLINE_WRITE_UNLOCK_IRQRESTORE
200
201 config MUTEX_SPIN_ON_OWNER
202         def_bool SMP && !DEBUG_MUTEXES