aboutsummaryrefslogtreecommitdiffstats
path: root/arch/arm/kernel/irq.c
diff options
context:
space:
mode:
Diffstat (limited to 'arch/arm/kernel/irq.c')
-rw-r--r--arch/arm/kernel/irq.c12
1 files changed, 12 insertions, 0 deletions
diff --git a/arch/arm/kernel/irq.c b/arch/arm/kernel/irq.c
index 9723d17b8f38..2c4257604513 100644
--- a/arch/arm/kernel/irq.c
+++ b/arch/arm/kernel/irq.c
@@ -37,6 +37,7 @@
37#include <linux/proc_fs.h> 37#include <linux/proc_fs.h>
38#include <linux/export.h> 38#include <linux/export.h>
39 39
40#include <asm/hardware/cache-l2x0.h>
40#include <asm/exception.h> 41#include <asm/exception.h>
41#include <asm/mach/arch.h> 42#include <asm/mach/arch.h>
42#include <asm/mach/irq.h> 43#include <asm/mach/irq.h>
@@ -115,10 +116,21 @@ EXPORT_SYMBOL_GPL(set_irq_flags);
115 116
116void __init init_IRQ(void) 117void __init init_IRQ(void)
117{ 118{
119 int ret;
120
118 if (IS_ENABLED(CONFIG_OF) && !machine_desc->init_irq) 121 if (IS_ENABLED(CONFIG_OF) && !machine_desc->init_irq)
119 irqchip_init(); 122 irqchip_init();
120 else 123 else
121 machine_desc->init_irq(); 124 machine_desc->init_irq();
125
126 if (IS_ENABLED(CONFIG_OF) && IS_ENABLED(CONFIG_CACHE_L2X0) &&
127 (machine_desc->l2c_aux_mask || machine_desc->l2c_aux_val)) {
128 outer_cache.write_sec = machine_desc->l2c_write_sec;
129 ret = l2x0_of_init(machine_desc->l2c_aux_val,
130 machine_desc->l2c_aux_mask);
131 if (ret)
132 pr_err("L2C: failed to init: %d\n", ret);
133 }
122} 134}
123 135
124#ifdef CONFIG_MULTI_IRQ_HANDLER 136#ifdef CONFIG_MULTI_IRQ_HANDLER