diff options
Diffstat (limited to 'kernel/irq/handle.c')
| -rw-r--r-- | kernel/irq/handle.c | 45 |
1 files changed, 25 insertions, 20 deletions
diff --git a/kernel/irq/handle.c b/kernel/irq/handle.c index 7fc7bc33d497..402fa3aec1e4 100644 --- a/kernel/irq/handle.c +++ b/kernel/irq/handle.c | |||
| @@ -40,32 +40,37 @@ struct irq_desc irq_desc[NR_IRQS] __cacheline_aligned = { | |||
| 40 | }; | 40 | }; |
| 41 | 41 | ||
| 42 | /* | 42 | /* |
| 43 | * Generic 'no controller' code | 43 | * What should we do if we get a hw irq event on an illegal vector? |
| 44 | * Each architecture has to answer this themself. | ||
| 44 | */ | 45 | */ |
| 45 | static void end_none(unsigned int irq) { } | 46 | static void ack_bad(unsigned int irq) |
| 46 | static void enable_none(unsigned int irq) { } | ||
| 47 | static void disable_none(unsigned int irq) { } | ||
| 48 | static void shutdown_none(unsigned int irq) { } | ||
| 49 | static unsigned int startup_none(unsigned int irq) { return 0; } | ||
| 50 | |||
| 51 | static void ack_none(unsigned int irq) | ||
| 52 | { | 47 | { |
| 53 | /* | ||
| 54 | * 'what should we do if we get a hw irq event on an illegal vector'. | ||
| 55 | * each architecture has to answer this themself. | ||
| 56 | */ | ||
| 57 | ack_bad_irq(irq); | 48 | ack_bad_irq(irq); |
| 58 | } | 49 | } |
| 59 | 50 | ||
| 51 | /* | ||
| 52 | * NOP functions | ||
| 53 | */ | ||
| 54 | static void noop(unsigned int irq) | ||
| 55 | { | ||
| 56 | } | ||
| 57 | |||
| 58 | static unsigned int noop_ret(unsigned int irq) | ||
| 59 | { | ||
| 60 | return 0; | ||
| 61 | } | ||
| 62 | |||
| 63 | /* | ||
| 64 | * Generic no controller implementation | ||
| 65 | */ | ||
| 60 | struct hw_interrupt_type no_irq_type = { | 66 | struct hw_interrupt_type no_irq_type = { |
| 61 | .typename = "none", | 67 | .typename = "none", |
| 62 | .startup = startup_none, | 68 | .startup = noop_ret, |
| 63 | .shutdown = shutdown_none, | 69 | .shutdown = noop, |
| 64 | .enable = enable_none, | 70 | .enable = noop, |
| 65 | .disable = disable_none, | 71 | .disable = noop, |
| 66 | .ack = ack_none, | 72 | .ack = ack_bad, |
| 67 | .end = end_none, | 73 | .end = noop, |
| 68 | .set_affinity = NULL | ||
| 69 | }; | 74 | }; |
| 70 | 75 | ||
| 71 | /* | 76 | /* |
