diff options
author | Maxime Ripard <maxime.ripard@free-electrons.com> | 2013-03-28 16:46:44 -0400 |
---|---|---|
committer | Olof Johansson <olof@lixom.net> | 2013-04-02 14:05:40 -0400 |
commit | ebafed7ab9b637656b685f1dc1ee528c77241a0d (patch) | |
tree | 431f0703142908c5a991483b881d87e6b1dd7438 /arch/arm | |
parent | c2573077dfacebdf58f69c666e8f15e9528e5a12 (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')
-rw-r--r-- | arch/arm/kernel/irq.c | 6 |
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 | ||
115 | void __init init_IRQ(void) | 116 | void __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 |