summaryrefslogtreecommitdiff
path: root/kernel
diff options
context:
space:
mode:
Diffstat (limited to 'kernel')
-rw-r--r--kernel/irq/handle.c5
1 files changed, 3 insertions, 2 deletions
diff --git a/kernel/irq/handle.c b/kernel/irq/handle.c
index f51eaee921b6..8b70e5ef71a4 100644
--- a/kernel/irq/handle.c
+++ b/kernel/irq/handle.c
@@ -237,6 +237,7 @@ struct irq_desc irq_desc[NR_IRQS] __cacheline_aligned_in_smp = {
}
};
+static unsigned int kstat_irqs_all[NR_IRQS][NR_CPUS];
int __init early_irq_init(void)
{
struct irq_desc *desc;
@@ -252,8 +253,10 @@ int __init early_irq_init(void)
for (i = 0; i < count; i++) {
desc[i].irq = i;
+ desc[i].kstat_irqs = kstat_irqs_all[i];
init_alloc_desc_masks(&desc[i], 0, true);
}
+
return arch_early_irq_init();
}
@@ -480,12 +483,10 @@ void early_init_irq_lock_class(void)
}
}
-#ifdef CONFIG_SPARSE_IRQ
unsigned int kstat_irqs_cpu(unsigned int irq, int cpu)
{
struct irq_desc *desc = irq_to_desc(irq);
return desc ? desc->kstat_irqs[cpu] : 0;
}
-#endif
EXPORT_SYMBOL(kstat_irqs_cpu);