aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/s390/char/raw3270.c
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/s390/char/raw3270.c')
-rw-r--r--drivers/s390/char/raw3270.c12
1 files changed, 7 insertions, 5 deletions
diff --git a/drivers/s390/char/raw3270.c b/drivers/s390/char/raw3270.c
index 2a4c566456e7..810ac38631c3 100644
--- a/drivers/s390/char/raw3270.c
+++ b/drivers/s390/char/raw3270.c
@@ -7,6 +7,7 @@
7 * Copyright IBM Corp. 2003, 2009 7 * Copyright IBM Corp. 2003, 2009
8 */ 8 */
9 9
10#include <linux/kernel_stat.h>
10#include <linux/module.h> 11#include <linux/module.h>
11#include <linux/err.h> 12#include <linux/err.h>
12#include <linux/init.h> 13#include <linux/init.h>
@@ -329,6 +330,7 @@ raw3270_irq (struct ccw_device *cdev, unsigned long intparm, struct irb *irb)
329 struct raw3270_request *rq; 330 struct raw3270_request *rq;
330 int rc; 331 int rc;
331 332
333 kstat_cpu(smp_processor_id()).irqs[IOINT_C70]++;
332 rp = dev_get_drvdata(&cdev->dev); 334 rp = dev_get_drvdata(&cdev->dev);
333 if (!rp) 335 if (!rp)
334 return; 336 return;
@@ -596,13 +598,12 @@ __raw3270_size_device(struct raw3270 *rp)
596 static const unsigned char wbuf[] = 598 static const unsigned char wbuf[] =
597 { 0x00, 0x07, 0x01, 0xff, 0x03, 0x00, 0x81 }; 599 { 0x00, 0x07, 0x01, 0xff, 0x03, 0x00, 0x81 };
598 struct raw3270_ua *uap; 600 struct raw3270_ua *uap;
599 unsigned short count;
600 int rc; 601 int rc;
601 602
602 /* 603 /*
603 * To determine the size of the 3270 device we need to do: 604 * To determine the size of the 3270 device we need to do:
604 * 1) send a 'read partition' data stream to the device 605 * 1) send a 'read partition' data stream to the device
605 * 2) wait for the attn interrupt that preceeds the query reply 606 * 2) wait for the attn interrupt that precedes the query reply
606 * 3) do a read modified to get the query reply 607 * 3) do a read modified to get the query reply
607 * To make things worse we have to cope with intervention 608 * To make things worse we have to cope with intervention
608 * required (3270 device switched to 'stand-by') and command 609 * required (3270 device switched to 'stand-by') and command
@@ -651,7 +652,6 @@ __raw3270_size_device(struct raw3270 *rp)
651 if (rc) 652 if (rc)
652 return rc; 653 return rc;
653 /* Got a Query Reply */ 654 /* Got a Query Reply */
654 count = sizeof(rp->init_data) - rp->init_request.rescnt;
655 uap = (struct raw3270_ua *) (rp->init_data + 1); 655 uap = (struct raw3270_ua *) (rp->init_data + 1);
656 /* Paranoia check. */ 656 /* Paranoia check. */
657 if (rp->init_data[0] != 0x88 || uap->uab.qcode != 0x81) 657 if (rp->init_data[0] != 0x88 || uap->uab.qcode != 0x81)
@@ -1386,8 +1386,10 @@ static struct ccw_device_id raw3270_id[] = {
1386}; 1386};
1387 1387
1388static struct ccw_driver raw3270_ccw_driver = { 1388static struct ccw_driver raw3270_ccw_driver = {
1389 .name = "3270", 1389 .driver = {
1390 .owner = THIS_MODULE, 1390 .name = "3270",
1391 .owner = THIS_MODULE,
1392 },
1391 .ids = raw3270_id, 1393 .ids = raw3270_id,
1392 .probe = &raw3270_probe, 1394 .probe = &raw3270_probe,
1393 .remove = &raw3270_remove, 1395 .remove = &raw3270_remove,