提交 77a5afec 编写于 作者: I Ingo Molnar 提交者: Linus Torvalds

[PATCH] genirq: cleanup: no_irq_type cleanups

Clean up no_irq_type: share the NOP functions where possible, and properly
name the ack_bad() function.
Signed-off-by: NIngo Molnar <mingo@elte.hu>
Signed-off-by: NThomas Gleixner <tglx@linutronix.de>
Signed-off-by: NAndrew Morton <akpm@osdl.org>
Signed-off-by: NLinus Torvalds <torvalds@osdl.org>
上级 8d28bc75
...@@ -40,32 +40,37 @@ struct irq_desc irq_desc[NR_IRQS] __cacheline_aligned = { ...@@ -40,32 +40,37 @@ struct irq_desc irq_desc[NR_IRQS] __cacheline_aligned = {
}; };
/* /*
* Generic 'no controller' code * What should we do if we get a hw irq event on an illegal vector?
* Each architecture has to answer this themself.
*/ */
static void end_none(unsigned int irq) { } static void ack_bad(unsigned int irq)
static void enable_none(unsigned int irq) { }
static void disable_none(unsigned int irq) { }
static void shutdown_none(unsigned int irq) { }
static unsigned int startup_none(unsigned int irq) { return 0; }
static void ack_none(unsigned int irq)
{ {
/*
* 'what should we do if we get a hw irq event on an illegal vector'.
* each architecture has to answer this themself.
*/
ack_bad_irq(irq); ack_bad_irq(irq);
} }
/*
* NOP functions
*/
static void noop(unsigned int irq)
{
}
static unsigned int noop_ret(unsigned int irq)
{
return 0;
}
/*
* Generic no controller implementation
*/
struct hw_interrupt_type no_irq_type = { struct hw_interrupt_type no_irq_type = {
.typename = "none", .typename = "none",
.startup = startup_none, .startup = noop_ret,
.shutdown = shutdown_none, .shutdown = noop,
.enable = enable_none, .enable = noop,
.disable = disable_none, .disable = noop,
.ack = ack_none, .ack = ack_bad,
.end = end_none, .end = noop,
.set_affinity = NULL
}; };
/* /*
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册