diff options
Diffstat (limited to 'drivers/s390')
| -rw-r--r-- | drivers/s390/block/dasd_eckd.c | 2 | ||||
| -rw-r--r-- | drivers/s390/block/dasd_ioctl.c | 1 | ||||
| -rw-r--r-- | drivers/s390/char/con3215.c | 22 | ||||
| -rw-r--r-- | drivers/s390/char/fs3270.c | 1 | ||||
| -rw-r--r-- | drivers/s390/char/vmcp.c | 1 | ||||
| -rw-r--r-- | drivers/s390/cio/chsc_sch.c | 1 | ||||
| -rw-r--r-- | drivers/s390/scsi/zfcp_cfdc.c | 1 |
7 files changed, 21 insertions, 8 deletions
diff --git a/drivers/s390/block/dasd_eckd.c b/drivers/s390/block/dasd_eckd.c index 70880be26015..2617b1ed4709 100644 --- a/drivers/s390/block/dasd_eckd.c +++ b/drivers/s390/block/dasd_eckd.c | |||
| @@ -18,12 +18,12 @@ | |||
| 18 | #include <linux/hdreg.h> /* HDIO_GETGEO */ | 18 | #include <linux/hdreg.h> /* HDIO_GETGEO */ |
| 19 | #include <linux/bio.h> | 19 | #include <linux/bio.h> |
| 20 | #include <linux/module.h> | 20 | #include <linux/module.h> |
| 21 | #include <linux/compat.h> | ||
| 21 | #include <linux/init.h> | 22 | #include <linux/init.h> |
| 22 | 23 | ||
| 23 | #include <asm/debug.h> | 24 | #include <asm/debug.h> |
| 24 | #include <asm/idals.h> | 25 | #include <asm/idals.h> |
| 25 | #include <asm/ebcdic.h> | 26 | #include <asm/ebcdic.h> |
| 26 | #include <asm/compat.h> | ||
| 27 | #include <asm/io.h> | 27 | #include <asm/io.h> |
| 28 | #include <asm/uaccess.h> | 28 | #include <asm/uaccess.h> |
| 29 | #include <asm/cio.h> | 29 | #include <asm/cio.h> |
diff --git a/drivers/s390/block/dasd_ioctl.c b/drivers/s390/block/dasd_ioctl.c index f1a2016829fc..792c69e78fe2 100644 --- a/drivers/s390/block/dasd_ioctl.c +++ b/drivers/s390/block/dasd_ioctl.c | |||
| @@ -13,6 +13,7 @@ | |||
| 13 | #define KMSG_COMPONENT "dasd" | 13 | #define KMSG_COMPONENT "dasd" |
| 14 | 14 | ||
| 15 | #include <linux/interrupt.h> | 15 | #include <linux/interrupt.h> |
| 16 | #include <linux/compat.h> | ||
| 16 | #include <linux/major.h> | 17 | #include <linux/major.h> |
| 17 | #include <linux/fs.h> | 18 | #include <linux/fs.h> |
| 18 | #include <linux/blkpg.h> | 19 | #include <linux/blkpg.h> |
diff --git a/drivers/s390/char/con3215.c b/drivers/s390/char/con3215.c index 934458ad55e5..e71a50d4b221 100644 --- a/drivers/s390/char/con3215.c +++ b/drivers/s390/char/con3215.c | |||
| @@ -87,6 +87,7 @@ struct raw3215_info { | |||
| 87 | struct tty_struct *tty; /* pointer to tty structure if present */ | 87 | struct tty_struct *tty; /* pointer to tty structure if present */ |
| 88 | struct raw3215_req *queued_read; /* pointer to queued read requests */ | 88 | struct raw3215_req *queued_read; /* pointer to queued read requests */ |
| 89 | struct raw3215_req *queued_write;/* pointer to queued write requests */ | 89 | struct raw3215_req *queued_write;/* pointer to queued write requests */ |
| 90 | struct tasklet_struct tlet; /* tasklet to invoke tty_wakeup */ | ||
| 90 | wait_queue_head_t empty_wait; /* wait queue for flushing */ | 91 | wait_queue_head_t empty_wait; /* wait queue for flushing */ |
| 91 | struct timer_list timer; /* timer for delayed output */ | 92 | struct timer_list timer; /* timer for delayed output */ |
| 92 | int line_pos; /* position on the line (for tabs) */ | 93 | int line_pos; /* position on the line (for tabs) */ |
| @@ -334,19 +335,23 @@ static inline void raw3215_try_io(struct raw3215_info *raw) | |||
| 334 | } | 335 | } |
| 335 | 336 | ||
| 336 | /* | 337 | /* |
| 338 | * Call tty_wakeup from tasklet context | ||
| 339 | */ | ||
| 340 | static void raw3215_wakeup(unsigned long data) | ||
| 341 | { | ||
| 342 | struct raw3215_info *raw = (struct raw3215_info *) data; | ||
| 343 | tty_wakeup(raw->tty); | ||
| 344 | } | ||
| 345 | |||
| 346 | /* | ||
| 337 | * Try to start the next IO and wake up processes waiting on the tty. | 347 | * Try to start the next IO and wake up processes waiting on the tty. |
| 338 | */ | 348 | */ |
| 339 | static void raw3215_next_io(struct raw3215_info *raw) | 349 | static void raw3215_next_io(struct raw3215_info *raw) |
| 340 | { | 350 | { |
| 341 | struct tty_struct *tty; | ||
| 342 | |||
| 343 | raw3215_mk_write_req(raw); | 351 | raw3215_mk_write_req(raw); |
| 344 | raw3215_try_io(raw); | 352 | raw3215_try_io(raw); |
| 345 | tty = raw->tty; | 353 | if (raw->tty && RAW3215_BUFFER_SIZE - raw->count >= RAW3215_MIN_SPACE) |
| 346 | if (tty != NULL && | 354 | tasklet_schedule(&raw->tlet); |
| 347 | RAW3215_BUFFER_SIZE - raw->count >= RAW3215_MIN_SPACE) { | ||
| 348 | tty_wakeup(tty); | ||
| 349 | } | ||
| 350 | } | 355 | } |
| 351 | 356 | ||
| 352 | /* | 357 | /* |
| @@ -682,6 +687,7 @@ static int raw3215_probe (struct ccw_device *cdev) | |||
| 682 | return -ENOMEM; | 687 | return -ENOMEM; |
| 683 | } | 688 | } |
| 684 | init_waitqueue_head(&raw->empty_wait); | 689 | init_waitqueue_head(&raw->empty_wait); |
| 690 | tasklet_init(&raw->tlet, raw3215_wakeup, (unsigned long) raw); | ||
| 685 | 691 | ||
| 686 | dev_set_drvdata(&cdev->dev, raw); | 692 | dev_set_drvdata(&cdev->dev, raw); |
| 687 | cdev->handler = raw3215_irq; | 693 | cdev->handler = raw3215_irq; |
| @@ -901,6 +907,7 @@ static int __init con3215_init(void) | |||
| 901 | 907 | ||
| 902 | raw->flags |= RAW3215_FIXED; | 908 | raw->flags |= RAW3215_FIXED; |
| 903 | init_waitqueue_head(&raw->empty_wait); | 909 | init_waitqueue_head(&raw->empty_wait); |
| 910 | tasklet_init(&raw->tlet, raw3215_wakeup, (unsigned long) raw); | ||
| 904 | 911 | ||
| 905 | /* Request the console irq */ | 912 | /* Request the console irq */ |
| 906 | if (raw3215_startup(raw) != 0) { | 913 | if (raw3215_startup(raw) != 0) { |
| @@ -966,6 +973,7 @@ static void tty3215_close(struct tty_struct *tty, struct file * filp) | |||
| 966 | tty->closing = 1; | 973 | tty->closing = 1; |
| 967 | /* Shutdown the terminal */ | 974 | /* Shutdown the terminal */ |
| 968 | raw3215_shutdown(raw); | 975 | raw3215_shutdown(raw); |
| 976 | tasklet_kill(&raw->tlet); | ||
| 969 | tty->closing = 0; | 977 | tty->closing = 0; |
| 970 | raw->tty = NULL; | 978 | raw->tty = NULL; |
| 971 | } | 979 | } |
diff --git a/drivers/s390/char/fs3270.c b/drivers/s390/char/fs3270.c index e71298158f9e..911704571b9c 100644 --- a/drivers/s390/char/fs3270.c +++ b/drivers/s390/char/fs3270.c | |||
| @@ -11,6 +11,7 @@ | |||
| 11 | #include <linux/console.h> | 11 | #include <linux/console.h> |
| 12 | #include <linux/init.h> | 12 | #include <linux/init.h> |
| 13 | #include <linux/interrupt.h> | 13 | #include <linux/interrupt.h> |
| 14 | #include <linux/compat.h> | ||
| 14 | #include <linux/module.h> | 15 | #include <linux/module.h> |
| 15 | #include <linux/list.h> | 16 | #include <linux/list.h> |
| 16 | #include <linux/slab.h> | 17 | #include <linux/slab.h> |
diff --git a/drivers/s390/char/vmcp.c b/drivers/s390/char/vmcp.c index 75bde6a8b7dc..89c03e6b1c0c 100644 --- a/drivers/s390/char/vmcp.c +++ b/drivers/s390/char/vmcp.c | |||
| @@ -13,6 +13,7 @@ | |||
| 13 | 13 | ||
| 14 | #include <linux/fs.h> | 14 | #include <linux/fs.h> |
| 15 | #include <linux/init.h> | 15 | #include <linux/init.h> |
| 16 | #include <linux/compat.h> | ||
| 16 | #include <linux/kernel.h> | 17 | #include <linux/kernel.h> |
| 17 | #include <linux/miscdevice.h> | 18 | #include <linux/miscdevice.h> |
| 18 | #include <linux/slab.h> | 19 | #include <linux/slab.h> |
diff --git a/drivers/s390/cio/chsc_sch.c b/drivers/s390/cio/chsc_sch.c index 0c87b0fc7714..8f9a1a384496 100644 --- a/drivers/s390/cio/chsc_sch.c +++ b/drivers/s390/cio/chsc_sch.c | |||
| @@ -8,6 +8,7 @@ | |||
| 8 | */ | 8 | */ |
| 9 | 9 | ||
| 10 | #include <linux/slab.h> | 10 | #include <linux/slab.h> |
| 11 | #include <linux/compat.h> | ||
| 11 | #include <linux/device.h> | 12 | #include <linux/device.h> |
| 12 | #include <linux/module.h> | 13 | #include <linux/module.h> |
| 13 | #include <linux/uaccess.h> | 14 | #include <linux/uaccess.h> |
diff --git a/drivers/s390/scsi/zfcp_cfdc.c b/drivers/s390/scsi/zfcp_cfdc.c index 303dde09d294..fab2c2592a97 100644 --- a/drivers/s390/scsi/zfcp_cfdc.c +++ b/drivers/s390/scsi/zfcp_cfdc.c | |||
| @@ -11,6 +11,7 @@ | |||
| 11 | #define KMSG_COMPONENT "zfcp" | 11 | #define KMSG_COMPONENT "zfcp" |
| 12 | #define pr_fmt(fmt) KMSG_COMPONENT ": " fmt | 12 | #define pr_fmt(fmt) KMSG_COMPONENT ": " fmt |
| 13 | 13 | ||
| 14 | #include <linux/compat.h> | ||
| 14 | #include <linux/slab.h> | 15 | #include <linux/slab.h> |
| 15 | #include <linux/types.h> | 16 | #include <linux/types.h> |
| 16 | #include <linux/miscdevice.h> | 17 | #include <linux/miscdevice.h> |
