aboutsummaryrefslogtreecommitdiffstats
path: root/arch/arm/kernel/irq.c
diff options
context:
space:
mode:
authorMaxime Ripard <maxime.ripard@free-electrons.com>2013-03-28 16:46:44 -0400
committerOlof Johansson <olof@lixom.net>2013-04-02 14:05:40 -0400
commitebafed7ab9b637656b685f1dc1ee528c77241a0d (patch)
tree431f0703142908c5a991483b881d87e6b1dd7438 /arch/arm/kernel/irq.c
parentc2573077dfacebdf58f69c666e8f15e9528e5a12 (diff)
ARM: irq: Call irqchip_init if no init_irq function is specified
More and more sub-architectures are using only the irqchip_init function. Make the core code call this function if no init_irq field is provided in the machine description to remove some boilerplate code. Signed-off-by: Maxime Ripard <maxime.ripard@free-electrons.com> Acked-by: Rob Herring <rob.herring@calxeda.com> Signed-off-by: Olof Johansson <olof@lixom.net>
Diffstat (limited to 'arch/arm/kernel/irq.c')
-rw-r--r--arch/arm/kernel/irq.c6
1 files changed, 5 insertions, 1 deletions
diff --git a/arch/arm/kernel/irq.c b/arch/arm/kernel/irq.c
index 8e4ef4c83a74..9723d17b8f38 100644
--- a/arch/arm/kernel/irq.c
+++ b/arch/arm/kernel/irq.c
@@ -26,6 +26,7 @@
26#include <linux/ioport.h> 26#include <linux/ioport.h>
27#include <linux/interrupt.h> 27#include <linux/interrupt.h>
28#include <linux/irq.h> 28#include <linux/irq.h>
29#include <linux/irqchip.h>
29#include <linux/random.h> 30#include <linux/random.h>
30#include <linux/smp.h> 31#include <linux/smp.h>
31#include <linux/init.h> 32#include <linux/init.h>
@@ -114,7 +115,10 @@ EXPORT_SYMBOL_GPL(set_irq_flags);
114 115
115void __init init_IRQ(void) 116void __init init_IRQ(void)
116{ 117{
117 machine_desc->init_irq(); 118 if (IS_ENABLED(CONFIG_OF) && !machine_desc->init_irq)
119 irqchip_init();
120 else
121 machine_desc->init_irq();
118} 122}
119 123
120#ifdef CONFIG_MULTI_IRQ_HANDLER 124#ifdef CONFIG_MULTI_IRQ_HANDLER