diff options
Diffstat (limited to 'kernel/irq/settings.h')
| -rw-r--r-- | kernel/irq/settings.h | 17 |
1 files changed, 17 insertions, 0 deletions
diff --git a/kernel/irq/settings.h b/kernel/irq/settings.h index 0d91730b6330..f1667833d444 100644 --- a/kernel/irq/settings.h +++ b/kernel/irq/settings.h | |||
| @@ -8,6 +8,7 @@ enum { | |||
| 8 | _IRQ_LEVEL = IRQ_LEVEL, | 8 | _IRQ_LEVEL = IRQ_LEVEL, |
| 9 | _IRQ_NOPROBE = IRQ_NOPROBE, | 9 | _IRQ_NOPROBE = IRQ_NOPROBE, |
| 10 | _IRQ_NOREQUEST = IRQ_NOREQUEST, | 10 | _IRQ_NOREQUEST = IRQ_NOREQUEST, |
| 11 | _IRQ_NOTHREAD = IRQ_NOTHREAD, | ||
| 11 | _IRQ_NOAUTOEN = IRQ_NOAUTOEN, | 12 | _IRQ_NOAUTOEN = IRQ_NOAUTOEN, |
| 12 | _IRQ_MOVE_PCNTXT = IRQ_MOVE_PCNTXT, | 13 | _IRQ_MOVE_PCNTXT = IRQ_MOVE_PCNTXT, |
| 13 | _IRQ_NO_BALANCING = IRQ_NO_BALANCING, | 14 | _IRQ_NO_BALANCING = IRQ_NO_BALANCING, |
| @@ -20,6 +21,7 @@ enum { | |||
| 20 | #define IRQ_LEVEL GOT_YOU_MORON | 21 | #define IRQ_LEVEL GOT_YOU_MORON |
| 21 | #define IRQ_NOPROBE GOT_YOU_MORON | 22 | #define IRQ_NOPROBE GOT_YOU_MORON |
| 22 | #define IRQ_NOREQUEST GOT_YOU_MORON | 23 | #define IRQ_NOREQUEST GOT_YOU_MORON |
| 24 | #define IRQ_NOTHREAD GOT_YOU_MORON | ||
| 23 | #define IRQ_NOAUTOEN GOT_YOU_MORON | 25 | #define IRQ_NOAUTOEN GOT_YOU_MORON |
| 24 | #define IRQ_NESTED_THREAD GOT_YOU_MORON | 26 | #define IRQ_NESTED_THREAD GOT_YOU_MORON |
| 25 | #undef IRQF_MODIFY_MASK | 27 | #undef IRQF_MODIFY_MASK |
| @@ -94,6 +96,21 @@ static inline void irq_settings_set_norequest(struct irq_desc *desc) | |||
| 94 | desc->status_use_accessors |= _IRQ_NOREQUEST; | 96 | desc->status_use_accessors |= _IRQ_NOREQUEST; |
| 95 | } | 97 | } |
| 96 | 98 | ||
| 99 | static inline bool irq_settings_can_thread(struct irq_desc *desc) | ||
| 100 | { | ||
| 101 | return !(desc->status_use_accessors & _IRQ_NOTHREAD); | ||
| 102 | } | ||
| 103 | |||
| 104 | static inline void irq_settings_clr_nothread(struct irq_desc *desc) | ||
| 105 | { | ||
| 106 | desc->status_use_accessors &= ~_IRQ_NOTHREAD; | ||
| 107 | } | ||
| 108 | |||
| 109 | static inline void irq_settings_set_nothread(struct irq_desc *desc) | ||
| 110 | { | ||
| 111 | desc->status_use_accessors |= _IRQ_NOTHREAD; | ||
| 112 | } | ||
| 113 | |||
| 97 | static inline bool irq_settings_can_probe(struct irq_desc *desc) | 114 | static inline bool irq_settings_can_probe(struct irq_desc *desc) |
| 98 | { | 115 | { |
| 99 | return !(desc->status_use_accessors & _IRQ_NOPROBE); | 116 | return !(desc->status_use_accessors & _IRQ_NOPROBE); |
