aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorThomas Gleixner <tglx@linutronix.de>2014-05-07 11:44:22 -0400
committerThomas Gleixner <tglx@linutronix.de>2014-05-16 08:05:22 -0400
commitc940e01c94e73a2a5318f1b82038e0746aaec753 (patch)
tree87ec46bf3a6767df46713d62a007cc1ae42e8353
parent1d008353ba088fdec0b2a944e140ff9154a5fb20 (diff)
genirq: Replace dynamic_irq_init/cleanup
Create a new interface and confine it with a config switch which makes clear that this is just legacy support and not to be used for new code. Signed-off-by: Thomas Gleixner <tglx@linutronix.de> Reviewed-by: Grant Likely <grant.likely@linaro.org> Tested-by: Tony Luck <tony.luck@intel.com> Cc: Peter Zijlstra <peterz@infradead.org> Link: http://lkml.kernel.org/r/20140507154340.574437049@linutronix.de Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
-rw-r--r--include/linux/irq.h4
-rw-r--r--kernel/irq/Kconfig4
-rw-r--r--kernel/irq/irqdesc.c7
3 files changed, 15 insertions, 0 deletions
diff --git a/include/linux/irq.h b/include/linux/irq.h
index 2110f46fcafa..8ff71d14365a 100644
--- a/include/linux/irq.h
+++ b/include/linux/irq.h
@@ -637,6 +637,10 @@ int arch_setup_hwirq(unsigned int irq, int node);
637void arch_teardown_hwirq(unsigned int irq); 637void arch_teardown_hwirq(unsigned int irq);
638#endif 638#endif
639 639
640#ifdef CONFIG_GENERIC_IRQ_LEGACY
641void irq_init_desc(unsigned int irq);
642#endif
643
640#ifndef irq_reg_writel 644#ifndef irq_reg_writel
641# define irq_reg_writel(val, addr) writel(val, addr) 645# define irq_reg_writel(val, addr) writel(val, addr)
642#endif 646#endif
diff --git a/kernel/irq/Kconfig b/kernel/irq/Kconfig
index a83f10e406c1..d269cecdfbf0 100644
--- a/kernel/irq/Kconfig
+++ b/kernel/irq/Kconfig
@@ -5,6 +5,10 @@ menu "IRQ subsystem"
5config MAY_HAVE_SPARSE_IRQ 5config MAY_HAVE_SPARSE_IRQ
6 bool 6 bool
7 7
8# Legacy support, required for itanic
9config GENERIC_IRQ_LEGACY
10 bool
11
8# Enable the generic irq autoprobe mechanism 12# Enable the generic irq autoprobe mechanism
9config GENERIC_IRQ_PROBE 13config GENERIC_IRQ_PROBE
10 bool 14 bool
diff --git a/kernel/irq/irqdesc.c b/kernel/irq/irqdesc.c
index d514ed6080e1..7f267799a717 100644
--- a/kernel/irq/irqdesc.c
+++ b/kernel/irq/irqdesc.c
@@ -306,6 +306,13 @@ void irq_mark_irq(unsigned int irq)
306 mutex_unlock(&sparse_irq_lock); 306 mutex_unlock(&sparse_irq_lock);
307} 307}
308 308
309#ifdef CONFIG_GENERIC_IRQ_LEGACY
310void irq_init_desc(unsigned int irq)
311{
312 dynamic_irq_cleanup(irq);
313}
314#endif
315
309#endif /* !CONFIG_SPARSE_IRQ */ 316#endif /* !CONFIG_SPARSE_IRQ */
310 317
311/** 318/**