diff options
author | 2013-03-28 21:46:44 +0100 | |
---|---|---|
committer | 2013-04-02 11:05:40 -0700 | |
commit | ebafed7ab9b637656b685f1dc1ee528c77241a0d (patch) | |
tree | 431f0703142908c5a991483b881d87e6b1dd7438 | |
parent | Merge branch 'gic' of git://git.kernel.org/pub/scm/linux/kernel/git/cmarinas/linux-aarch64 into next/cleanup (diff) | |
download | linux-dev-ebafed7ab9b637656b685f1dc1ee528c77241a0d.tar.xz linux-dev-ebafed7ab9b637656b685f1dc1ee528c77241a0d.zip |
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>
-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 @@ #include <linux/ioport.h> #include <linux/interrupt.h> #include <linux/irq.h> +#include <linux/irqchip.h> #include <linux/random.h> #include <linux/smp.h> #include <linux/init.h> @@ -114,7 +115,10 @@ EXPORT_SYMBOL_GPL(set_irq_flags); void __init init_IRQ(void) { - machine_desc->init_irq(); + if (IS_ENABLED(CONFIG_OF) && !machine_desc->init_irq) + irqchip_init(); + else + machine_desc->init_irq(); } #ifdef CONFIG_MULTI_IRQ_HANDLER |