diff options
Diffstat (limited to 'arch/arm/kernel/irq.c')
-rw-r--r-- | arch/arm/kernel/irq.c | 12 |
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 | ||
116 | void __init init_IRQ(void) | 117 | void __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 |