diff options
author | Martin Schwidefsky <schwidefsky@de.ibm.com> | 2009-06-16 04:30:47 -0400 |
---|---|---|
committer | Martin Schwidefsky <schwidefsky@de.ibm.com> | 2009-06-16 04:31:20 -0400 |
commit | 4b214a0c7720bfcfaca936047a359f8859fc8424 (patch) | |
tree | 33cbc967ffd4b7a316cada0917006bd7031ccfb2 /drivers/s390/char/fs3270.c | |
parent | 6a1d96dced593bc17d7a17fdb93c99b275e71eba (diff) |
[S390] pm: con3270 power management callbacks.
Introduce the power management callbacks to the 3270 driver. On suspend
the current 3270 view is deactivated and for non-console 3270 device
the release callback is done. This disconnects the current tty /
fullscreen application from the 3270 device. On resume the current
view is reactivated, on the tty you get a fresh login.
If the system panics before the 3270 device has been resumed, the ccw
device for the 3270 console is reactivated with ccw_device_force_console.
Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
Diffstat (limited to 'drivers/s390/char/fs3270.c')
-rw-r--r-- | drivers/s390/char/fs3270.c | 16 |
1 files changed, 10 insertions, 6 deletions
diff --git a/drivers/s390/char/fs3270.c b/drivers/s390/char/fs3270.c index 40759c33477d..097d3846a828 100644 --- a/drivers/s390/char/fs3270.c +++ b/drivers/s390/char/fs3270.c | |||
@@ -1,11 +1,10 @@ | |||
1 | /* | 1 | /* |
2 | * drivers/s390/char/fs3270.c | 2 | * IBM/3270 Driver - fullscreen driver. |
3 | * IBM/3270 Driver - fullscreen driver. | ||
4 | * | 3 | * |
5 | * Author(s): | 4 | * Author(s): |
6 | * Original 3270 Code for 2.4 written by Richard Hitt (UTS Global) | 5 | * Original 3270 Code for 2.4 written by Richard Hitt (UTS Global) |
7 | * Rewritten for 2.5/2.6 by Martin Schwidefsky <schwidefsky@de.ibm.com> | 6 | * Rewritten for 2.5/2.6 by Martin Schwidefsky <schwidefsky@de.ibm.com> |
8 | * -- Copyright (C) 2003 IBM Deutschland Entwicklung GmbH, IBM Corporation | 7 | * Copyright IBM Corp. 2003, 2009 |
9 | */ | 8 | */ |
10 | 9 | ||
11 | #include <linux/bootmem.h> | 10 | #include <linux/bootmem.h> |
@@ -399,6 +398,11 @@ fs3270_free_view(struct raw3270_view *view) | |||
399 | static void | 398 | static void |
400 | fs3270_release(struct raw3270_view *view) | 399 | fs3270_release(struct raw3270_view *view) |
401 | { | 400 | { |
401 | struct fs3270 *fp; | ||
402 | |||
403 | fp = (struct fs3270 *) view; | ||
404 | if (fp->fs_pid) | ||
405 | kill_pid(fp->fs_pid, SIGHUP, 1); | ||
402 | } | 406 | } |
403 | 407 | ||
404 | /* View to a 3270 device. Can be console, tty or fullscreen. */ | 408 | /* View to a 3270 device. Can be console, tty or fullscreen. */ |