提交 be403401 编写于 作者: T Thomas Gleixner

s390: Avoid call to irq_reserve_irqs()

There is no need to mark the lower interrupts as reserved in order to
exclude them from dynamic allocation.

Provide arch_dynirq_lower_bound() to exclude the lower space.
Signed-off-by: NThomas Gleixner <tglx@linutronix.de>
Reviewed-by: NGrant Likely <grant.likely@linaro.org>
Cc: Tony Luck <tony.luck@intel.com>
Cc: Peter Zijlstra <peterz@infradead.org>
Cc: Martin Schwidefsky <schwidefsky@de.ibm.com>
Cc: Heiko Carstens <heiko.carstens@de.ibm.com>
Cc: linux390@de.ibm.com
Link: http://lkml.kernel.org/r/20140507154339.811205235@linutronix.deSigned-off-by: NThomas Gleixner <tglx@linutronix.de>
上级 5fdaf1bf
...@@ -92,7 +92,6 @@ static const struct irq_class irqclass_sub_desc[NR_ARCH_IRQS] = { ...@@ -92,7 +92,6 @@ static const struct irq_class irqclass_sub_desc[NR_ARCH_IRQS] = {
void __init init_IRQ(void) void __init init_IRQ(void)
{ {
irq_reserve_irqs(0, THIN_INTERRUPT);
init_cio_interrupts(); init_cio_interrupts();
init_airq_interrupts(); init_airq_interrupts();
init_ext_interrupts(); init_ext_interrupts();
...@@ -151,6 +150,11 @@ int show_interrupts(struct seq_file *p, void *v) ...@@ -151,6 +150,11 @@ int show_interrupts(struct seq_file *p, void *v)
return 0; return 0;
} }
unsigned int arch_dynirq_lower_bound(unsigned int from)
{
return from < THIN_INTERRUPT ? THIN_INTERRUPT : from;
}
/* /*
* Switch to the asynchronous interrupt stack for softirq execution. * Switch to the asynchronous interrupt stack for softirq execution.
*/ */
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册