aboutsummaryrefslogtreecommitdiffstats
path: root/kernel/irq/handle.c
diff options
context:
space:
mode:
Diffstat (limited to 'kernel/irq/handle.c')
-rw-r--r--kernel/irq/handle.c10
1 files changed, 10 insertions, 0 deletions
diff --git a/kernel/irq/handle.c b/kernel/irq/handle.c
index d638a911cbc1..eae69373a9c6 100644
--- a/kernel/irq/handle.c
+++ b/kernel/irq/handle.c
@@ -34,7 +34,11 @@ void
34handle_bad_irq(unsigned int irq, struct irq_desc *desc) 34handle_bad_irq(unsigned int irq, struct irq_desc *desc)
35{ 35{
36 print_irq_desc(irq, desc); 36 print_irq_desc(irq, desc);
37#ifdef CONFIG_HAVE_DYN_ARRAY
37 kstat_irqs_this_cpu(desc)++; 38 kstat_irqs_this_cpu(desc)++;
39#else
40 kstat_irqs_this_cpu(irq)++;
41#endif
38 ack_bad_irq(irq); 42 ack_bad_irq(irq);
39} 43}
40 44
@@ -401,7 +405,11 @@ unsigned int __do_IRQ(unsigned int irq)
401 struct irqaction *action; 405 struct irqaction *action;
402 unsigned int status; 406 unsigned int status;
403 407
408#ifdef CONFIG_HAVE_DYN_ARRAY
404 kstat_irqs_this_cpu(desc)++; 409 kstat_irqs_this_cpu(desc)++;
410#else
411 kstat_irqs_this_cpu(irq)++;
412#endif
405 if (CHECK_IRQ_PER_CPU(desc->status)) { 413 if (CHECK_IRQ_PER_CPU(desc->status)) {
406 irqreturn_t action_ret; 414 irqreturn_t action_ret;
407 415
@@ -501,10 +509,12 @@ void early_init_irq_lock_class(void)
501} 509}
502#endif 510#endif
503 511
512#ifdef CONFIG_HAVE_DYN_ARRAY
504unsigned int kstat_irqs_cpu(unsigned int irq, int cpu) 513unsigned int kstat_irqs_cpu(unsigned int irq, int cpu)
505{ 514{
506 struct irq_desc *desc = irq_to_desc(irq); 515 struct irq_desc *desc = irq_to_desc(irq);
507 return desc->kstat_irqs[cpu]; 516 return desc->kstat_irqs[cpu];
508} 517}
518#endif
509EXPORT_SYMBOL(kstat_irqs_cpu); 519EXPORT_SYMBOL(kstat_irqs_cpu);
510 520