diff options
Diffstat (limited to 'include/linux/irq.h')
-rw-r--r-- | include/linux/irq.h | 17 |
1 files changed, 17 insertions, 0 deletions
diff --git a/include/linux/irq.h b/include/linux/irq.h index e79875574b39..39e3254e5769 100644 --- a/include/linux/irq.h +++ b/include/linux/irq.h | |||
@@ -184,6 +184,7 @@ struct irq_data { | |||
184 | * | 184 | * |
185 | * IRQD_TRIGGER_MASK - Mask for the trigger type bits | 185 | * IRQD_TRIGGER_MASK - Mask for the trigger type bits |
186 | * IRQD_SETAFFINITY_PENDING - Affinity setting is pending | 186 | * IRQD_SETAFFINITY_PENDING - Affinity setting is pending |
187 | * IRQD_ACTIVATED - Interrupt has already been activated | ||
187 | * IRQD_NO_BALANCING - Balancing disabled for this IRQ | 188 | * IRQD_NO_BALANCING - Balancing disabled for this IRQ |
188 | * IRQD_PER_CPU - Interrupt is per cpu | 189 | * IRQD_PER_CPU - Interrupt is per cpu |
189 | * IRQD_AFFINITY_SET - Interrupt affinity was set | 190 | * IRQD_AFFINITY_SET - Interrupt affinity was set |
@@ -202,6 +203,7 @@ struct irq_data { | |||
202 | enum { | 203 | enum { |
203 | IRQD_TRIGGER_MASK = 0xf, | 204 | IRQD_TRIGGER_MASK = 0xf, |
204 | IRQD_SETAFFINITY_PENDING = (1 << 8), | 205 | IRQD_SETAFFINITY_PENDING = (1 << 8), |
206 | IRQD_ACTIVATED = (1 << 9), | ||
205 | IRQD_NO_BALANCING = (1 << 10), | 207 | IRQD_NO_BALANCING = (1 << 10), |
206 | IRQD_PER_CPU = (1 << 11), | 208 | IRQD_PER_CPU = (1 << 11), |
207 | IRQD_AFFINITY_SET = (1 << 12), | 209 | IRQD_AFFINITY_SET = (1 << 12), |
@@ -312,6 +314,21 @@ static inline bool irqd_affinity_is_managed(struct irq_data *d) | |||
312 | return __irqd_to_state(d) & IRQD_AFFINITY_MANAGED; | 314 | return __irqd_to_state(d) & IRQD_AFFINITY_MANAGED; |
313 | } | 315 | } |
314 | 316 | ||
317 | static inline bool irqd_is_activated(struct irq_data *d) | ||
318 | { | ||
319 | return __irqd_to_state(d) & IRQD_ACTIVATED; | ||
320 | } | ||
321 | |||
322 | static inline void irqd_set_activated(struct irq_data *d) | ||
323 | { | ||
324 | __irqd_to_state(d) |= IRQD_ACTIVATED; | ||
325 | } | ||
326 | |||
327 | static inline void irqd_clr_activated(struct irq_data *d) | ||
328 | { | ||
329 | __irqd_to_state(d) &= ~IRQD_ACTIVATED; | ||
330 | } | ||
331 | |||
315 | #undef __irqd_to_state | 332 | #undef __irqd_to_state |
316 | 333 | ||
317 | static inline irq_hw_number_t irqd_to_hwirq(struct irq_data *d) | 334 | static inline irq_hw_number_t irqd_to_hwirq(struct irq_data *d) |