diff options
author | Thomas Gleixner <tglx@linutronix.de> | 2011-02-10 13:46:26 -0500 |
---|---|---|
committer | Thomas Gleixner <tglx@linutronix.de> | 2011-02-19 06:58:22 -0500 |
commit | 7f94226f03299f1ca32f118f02f2a0295e0e5e93 (patch) | |
tree | 049a83a3c264d4378f341991800c345bf4eeb5a5 /include/linux/irq.h | |
parent | d4d5e08960844a062da8387ee5f16ca7a33200d0 (diff) |
genirq: Move wakeup state to irq_data
Some irq_chips need to know the state of wakeup mode for
setting the trigger type etc. Reflect it in irq_data state.
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Diffstat (limited to 'include/linux/irq.h')
-rw-r--r-- | include/linux/irq.h | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/include/linux/irq.h b/include/linux/irq.h index ef6b66dc9d03..94c8f5bb548f 100644 --- a/include/linux/irq.h +++ b/include/linux/irq.h | |||
@@ -168,6 +168,8 @@ struct irq_data { | |||
168 | * IRQD_PER_CPU - Interrupt is per cpu | 168 | * IRQD_PER_CPU - Interrupt is per cpu |
169 | * IRQD_AFFINITY_SET - Interrupt affinity was set | 169 | * IRQD_AFFINITY_SET - Interrupt affinity was set |
170 | * IRQD_LEVEL - Interrupt is level triggered | 170 | * IRQD_LEVEL - Interrupt is level triggered |
171 | * IRQD_WAKEUP_STATE - Interrupt is configured for wakeup | ||
172 | * from suspend | ||
171 | */ | 173 | */ |
172 | enum { | 174 | enum { |
173 | IRQD_TRIGGER_MASK = 0xf, | 175 | IRQD_TRIGGER_MASK = 0xf, |
@@ -176,6 +178,7 @@ enum { | |||
176 | IRQD_PER_CPU = (1 << 11), | 178 | IRQD_PER_CPU = (1 << 11), |
177 | IRQD_AFFINITY_SET = (1 << 12), | 179 | IRQD_AFFINITY_SET = (1 << 12), |
178 | IRQD_LEVEL = (1 << 13), | 180 | IRQD_LEVEL = (1 << 13), |
181 | IRQD_WAKEUP_STATE = (1 << 14), | ||
179 | }; | 182 | }; |
180 | 183 | ||
181 | static inline bool irqd_is_setaffinity_pending(struct irq_data *d) | 184 | static inline bool irqd_is_setaffinity_pending(struct irq_data *d) |
@@ -217,6 +220,11 @@ static inline bool irqd_is_level_type(struct irq_data *d) | |||
217 | return d->state_use_accessors & IRQD_LEVEL; | 220 | return d->state_use_accessors & IRQD_LEVEL; |
218 | } | 221 | } |
219 | 222 | ||
223 | static inline bool irqd_is_wakeup_set(struct irq_data *d) | ||
224 | { | ||
225 | return d->state_use_accessors & IRQD_WAKEUP_STATE; | ||
226 | } | ||
227 | |||
220 | /** | 228 | /** |
221 | * struct irq_chip - hardware interrupt chip descriptor | 229 | * struct irq_chip - hardware interrupt chip descriptor |
222 | * | 230 | * |