diff options
author | Yinghai Lu <yhlu.kernel@gmail.com> | 2008-08-25 15:41:19 -0400 |
---|---|---|
committer | Ingo Molnar <mingo@elte.hu> | 2008-10-16 10:53:04 -0400 |
commit | 8c464a4b23ca283b414022ebc77787f3c7040fa7 (patch) | |
tree | 1d62a78b0af21492289d015c81270683f6bbe0bd /kernel/irq/chip.c | |
parent | e492c5ae85428d4a3815d06bf308c590120b928b (diff) |
sparseirq: move kstat_irqs from kstat to irq_desc - fix
fix non-sparseirq architectures.
Signed-off-by: Yinghai Lu <yhlu.kernel@gmail.com>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
Diffstat (limited to 'kernel/irq/chip.c')
-rw-r--r-- | kernel/irq/chip.c | 21 |
1 files changed, 20 insertions, 1 deletions
diff --git a/kernel/irq/chip.c b/kernel/irq/chip.c index 9fc5e69213de..4ef555c50db8 100644 --- a/kernel/irq/chip.c +++ b/kernel/irq/chip.c | |||
@@ -327,7 +327,11 @@ handle_simple_irq(unsigned int irq, struct irq_desc *desc) | |||
327 | if (unlikely(desc->status & IRQ_INPROGRESS)) | 327 | if (unlikely(desc->status & IRQ_INPROGRESS)) |
328 | goto out_unlock; | 328 | goto out_unlock; |
329 | desc->status &= ~(IRQ_REPLAY | IRQ_WAITING); | 329 | desc->status &= ~(IRQ_REPLAY | IRQ_WAITING); |
330 | #ifdef CONFIG_HAVE_DYN_ARRAY | ||
330 | kstat_irqs_this_cpu(desc)++; | 331 | kstat_irqs_this_cpu(desc)++; |
332 | #else | ||
333 | kstat_irqs_this_cpu(irq)++; | ||
334 | #endif | ||
331 | 335 | ||
332 | action = desc->action; | 336 | action = desc->action; |
333 | if (unlikely(!action || (desc->status & IRQ_DISABLED))) | 337 | if (unlikely(!action || (desc->status & IRQ_DISABLED))) |
@@ -368,7 +372,11 @@ handle_level_irq(unsigned int irq, struct irq_desc *desc) | |||
368 | if (unlikely(desc->status & IRQ_INPROGRESS)) | 372 | if (unlikely(desc->status & IRQ_INPROGRESS)) |
369 | goto out_unlock; | 373 | goto out_unlock; |
370 | desc->status &= ~(IRQ_REPLAY | IRQ_WAITING); | 374 | desc->status &= ~(IRQ_REPLAY | IRQ_WAITING); |
375 | #ifdef CONFIG_HAVE_DYN_ARRAY | ||
371 | kstat_irqs_this_cpu(desc)++; | 376 | kstat_irqs_this_cpu(desc)++; |
377 | #else | ||
378 | kstat_irqs_this_cpu(irq)++; | ||
379 | #endif | ||
372 | 380 | ||
373 | /* | 381 | /* |
374 | * If its disabled or no action available | 382 | * If its disabled or no action available |
@@ -415,7 +423,11 @@ handle_fasteoi_irq(unsigned int irq, struct irq_desc *desc) | |||
415 | goto out; | 423 | goto out; |
416 | 424 | ||
417 | desc->status &= ~(IRQ_REPLAY | IRQ_WAITING); | 425 | desc->status &= ~(IRQ_REPLAY | IRQ_WAITING); |
426 | #ifdef CONFIG_HAVE_DYN_ARRAY | ||
418 | kstat_irqs_this_cpu(desc)++; | 427 | kstat_irqs_this_cpu(desc)++; |
428 | #else | ||
429 | kstat_irqs_this_cpu(irq)++; | ||
430 | #endif | ||
419 | 431 | ||
420 | /* | 432 | /* |
421 | * If its disabled or no action available | 433 | * If its disabled or no action available |
@@ -479,8 +491,11 @@ handle_edge_irq(unsigned int irq, struct irq_desc *desc) | |||
479 | mask_ack_irq(desc, irq); | 491 | mask_ack_irq(desc, irq); |
480 | goto out_unlock; | 492 | goto out_unlock; |
481 | } | 493 | } |
482 | 494 | #ifdef CONFIG_HAVE_DYN_ARRAY | |
483 | kstat_irqs_this_cpu(desc)++; | 495 | kstat_irqs_this_cpu(desc)++; |
496 | #else | ||
497 | kstat_irqs_this_cpu(irq)++; | ||
498 | #endif | ||
484 | 499 | ||
485 | /* Start handling the irq */ | 500 | /* Start handling the irq */ |
486 | desc->chip->ack(irq); | 501 | desc->chip->ack(irq); |
@@ -535,7 +550,11 @@ handle_percpu_irq(unsigned int irq, struct irq_desc *desc) | |||
535 | { | 550 | { |
536 | irqreturn_t action_ret; | 551 | irqreturn_t action_ret; |
537 | 552 | ||
553 | #ifdef CONFIG_HAVE_DYN_ARRAY | ||
538 | kstat_irqs_this_cpu(desc)++; | 554 | kstat_irqs_this_cpu(desc)++; |
555 | #else | ||
556 | kstat_irqs_this_cpu(irq)++; | ||
557 | #endif | ||
539 | 558 | ||
540 | if (desc->chip->ack) | 559 | if (desc->chip->ack) |
541 | desc->chip->ack(irq); | 560 | desc->chip->ack(irq); |