diff options
-rw-r--r-- | arch/s390/include/asm/irq.h | 1 | ||||
-rw-r--r-- | arch/s390/kernel/irq.c | 1 | ||||
-rw-r--r-- | drivers/s390/cio/chsc_sch.c | 5 |
3 files changed, 6 insertions, 1 deletions
diff --git a/arch/s390/include/asm/irq.h b/arch/s390/include/asm/irq.h index 1f686059f293..eadfa9fc03ba 100644 --- a/arch/s390/include/asm/irq.h +++ b/arch/s390/include/asm/irq.h | |||
@@ -28,6 +28,7 @@ enum interruption_class { | |||
28 | IOINT_CLW, | 28 | IOINT_CLW, |
29 | IOINT_CTC, | 29 | IOINT_CTC, |
30 | IOINT_APB, | 30 | IOINT_APB, |
31 | IOINT_CSC, | ||
31 | NMI_NMI, | 32 | NMI_NMI, |
32 | NR_IRQS, | 33 | NR_IRQS, |
33 | }; | 34 | }; |
diff --git a/arch/s390/kernel/irq.c b/arch/s390/kernel/irq.c index d382f9db3df5..30faaef34457 100644 --- a/arch/s390/kernel/irq.c +++ b/arch/s390/kernel/irq.c | |||
@@ -53,6 +53,7 @@ static const struct irq_class intrclass_names[] = { | |||
53 | {.name = "CLW", .desc = "[I/O] CLAW" }, | 53 | {.name = "CLW", .desc = "[I/O] CLAW" }, |
54 | {.name = "CTC", .desc = "[I/O] CTC" }, | 54 | {.name = "CTC", .desc = "[I/O] CTC" }, |
55 | {.name = "APB", .desc = "[I/O] AP Bus" }, | 55 | {.name = "APB", .desc = "[I/O] AP Bus" }, |
56 | {.name = "CSC", .desc = "[I/O] CHSC Subchannel" }, | ||
56 | {.name = "NMI", .desc = "[NMI] Machine Check" }, | 57 | {.name = "NMI", .desc = "[NMI] Machine Check" }, |
57 | }; | 58 | }; |
58 | 59 | ||
diff --git a/drivers/s390/cio/chsc_sch.c b/drivers/s390/cio/chsc_sch.c index e950f1ad4dd1..0c87b0fc7714 100644 --- a/drivers/s390/cio/chsc_sch.c +++ b/drivers/s390/cio/chsc_sch.c | |||
@@ -1,7 +1,7 @@ | |||
1 | /* | 1 | /* |
2 | * Driver for s390 chsc subchannels | 2 | * Driver for s390 chsc subchannels |
3 | * | 3 | * |
4 | * Copyright IBM Corp. 2008, 2009 | 4 | * Copyright IBM Corp. 2008, 2011 |
5 | * | 5 | * |
6 | * Author(s): Cornelia Huck <cornelia.huck@de.ibm.com> | 6 | * Author(s): Cornelia Huck <cornelia.huck@de.ibm.com> |
7 | * | 7 | * |
@@ -12,6 +12,7 @@ | |||
12 | #include <linux/module.h> | 12 | #include <linux/module.h> |
13 | #include <linux/uaccess.h> | 13 | #include <linux/uaccess.h> |
14 | #include <linux/miscdevice.h> | 14 | #include <linux/miscdevice.h> |
15 | #include <linux/kernel_stat.h> | ||
15 | 16 | ||
16 | #include <asm/compat.h> | 17 | #include <asm/compat.h> |
17 | #include <asm/cio.h> | 18 | #include <asm/cio.h> |
@@ -56,6 +57,8 @@ static void chsc_subchannel_irq(struct subchannel *sch) | |||
56 | 57 | ||
57 | CHSC_LOG(4, "irb"); | 58 | CHSC_LOG(4, "irb"); |
58 | CHSC_LOG_HEX(4, irb, sizeof(*irb)); | 59 | CHSC_LOG_HEX(4, irb, sizeof(*irb)); |
60 | kstat_cpu(smp_processor_id()).irqs[IOINT_CSC]++; | ||
61 | |||
59 | /* Copy irb to provided request and set done. */ | 62 | /* Copy irb to provided request and set done. */ |
60 | if (!request) { | 63 | if (!request) { |
61 | CHSC_MSG(0, "Interrupt on sch 0.%x.%04x with no request\n", | 64 | CHSC_MSG(0, "Interrupt on sch 0.%x.%04x with no request\n", |