aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/s390/cio/cio.c
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/s390/cio/cio.c')
-rw-r--r--drivers/s390/cio/cio.c6
1 files changed, 2 insertions, 4 deletions
diff --git a/drivers/s390/cio/cio.c b/drivers/s390/cio/cio.c
index d691e6a13aae..9e058c4657a3 100644
--- a/drivers/s390/cio/cio.c
+++ b/drivers/s390/cio/cio.c
@@ -18,6 +18,7 @@
18#include <linux/device.h> 18#include <linux/device.h>
19#include <linux/kernel_stat.h> 19#include <linux/kernel_stat.h>
20#include <linux/interrupt.h> 20#include <linux/interrupt.h>
21#include <linux/irq.h>
21#include <asm/cio.h> 22#include <asm/cio.h>
22#include <asm/delay.h> 23#include <asm/delay.h>
23#include <asm/irq.h> 24#include <asm/irq.h>
@@ -584,8 +585,6 @@ static irqreturn_t do_cio_interrupt(int irq, void *dummy)
584 return IRQ_HANDLED; 585 return IRQ_HANDLED;
585} 586}
586 587
587static struct irq_desc *irq_desc_io;
588
589static struct irqaction io_interrupt = { 588static struct irqaction io_interrupt = {
590 .name = "IO", 589 .name = "IO",
591 .handler = do_cio_interrupt, 590 .handler = do_cio_interrupt,
@@ -596,7 +595,6 @@ void __init init_cio_interrupts(void)
596 irq_set_chip_and_handler(IO_INTERRUPT, 595 irq_set_chip_and_handler(IO_INTERRUPT,
597 &dummy_irq_chip, handle_percpu_irq); 596 &dummy_irq_chip, handle_percpu_irq);
598 setup_irq(IO_INTERRUPT, &io_interrupt); 597 setup_irq(IO_INTERRUPT, &io_interrupt);
599 irq_desc_io = irq_to_desc(IO_INTERRUPT);
600} 598}
601 599
602#ifdef CONFIG_CCW_CONSOLE 600#ifdef CONFIG_CCW_CONSOLE
@@ -623,7 +621,7 @@ void cio_tsch(struct subchannel *sch)
623 local_bh_disable(); 621 local_bh_disable();
624 irq_enter(); 622 irq_enter();
625 } 623 }
626 kstat_incr_irqs_this_cpu(IO_INTERRUPT, irq_desc_io); 624 kstat_incr_irq_this_cpu(IO_INTERRUPT);
627 if (sch->driver && sch->driver->irq) 625 if (sch->driver && sch->driver->irq)
628 sch->driver->irq(sch); 626 sch->driver->irq(sch);
629 else 627 else