mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
synced 2024-10-29 15:42:46 +00:00
s390/cio: ccw_device_force_console don't use static variable
force_console is used to wake up the CCW based console device to print a panic message in case something goes wrong in a suspend or resume cycle. Stop using the static console_subchannel and add a parameter to this function to specify which ccw device we have to wake up. Reviewed-by: Peter Oberparleiter <oberpar@linux.vnet.ibm.com> Signed-off-by: Sebastian Ott <sebott@linux.vnet.ibm.com> Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
This commit is contained in:
parent
188561a462
commit
f10ccca7a5
4 changed files with 5 additions and 7 deletions
|
@ -221,7 +221,7 @@ extern void ccw_device_get_id(struct ccw_device *, struct ccw_dev_id *);
|
||||||
|
|
||||||
extern struct ccw_device *ccw_device_probe_console(void);
|
extern struct ccw_device *ccw_device_probe_console(void);
|
||||||
extern void ccw_device_wait_idle(struct ccw_device *);
|
extern void ccw_device_wait_idle(struct ccw_device *);
|
||||||
extern int ccw_device_force_console(void);
|
extern int ccw_device_force_console(struct ccw_device *);
|
||||||
|
|
||||||
int ccw_device_siosl(struct ccw_device *);
|
int ccw_device_siosl(struct ccw_device *);
|
||||||
|
|
||||||
|
|
|
@ -858,7 +858,7 @@ static void con3215_flush(void)
|
||||||
raw = raw3215[0]; /* console 3215 is the first one */
|
raw = raw3215[0]; /* console 3215 is the first one */
|
||||||
if (raw->port.flags & ASYNC_SUSPENDED)
|
if (raw->port.flags & ASYNC_SUSPENDED)
|
||||||
/* The console is still frozen for suspend. */
|
/* The console is still frozen for suspend. */
|
||||||
if (ccw_device_force_console())
|
if (ccw_device_force_console(raw->cdev))
|
||||||
/* Forcing didn't work, no panic message .. */
|
/* Forcing didn't work, no panic message .. */
|
||||||
return;
|
return;
|
||||||
spin_lock_irqsave(get_ccwdev_lock(raw->cdev), flags);
|
spin_lock_irqsave(get_ccwdev_lock(raw->cdev), flags);
|
||||||
|
|
|
@ -1274,7 +1274,7 @@ void raw3270_pm_unfreeze(struct raw3270_view *view)
|
||||||
|
|
||||||
rp = view->dev;
|
rp = view->dev;
|
||||||
if (rp && test_bit(RAW3270_FLAGS_FROZEN, &rp->flags))
|
if (rp && test_bit(RAW3270_FLAGS_FROZEN, &rp->flags))
|
||||||
ccw_device_force_console();
|
ccw_device_force_console(rp->cdev);
|
||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -1680,11 +1680,9 @@ void ccw_device_wait_idle(struct ccw_device *cdev)
|
||||||
|
|
||||||
static int ccw_device_pm_restore(struct device *dev);
|
static int ccw_device_pm_restore(struct device *dev);
|
||||||
|
|
||||||
int ccw_device_force_console(void)
|
int ccw_device_force_console(struct ccw_device *cdev)
|
||||||
{
|
{
|
||||||
if (!console_cdev_in_use)
|
return ccw_device_pm_restore(&cdev->dev);
|
||||||
return -ENODEV;
|
|
||||||
return ccw_device_pm_restore(&console_cdev.dev);
|
|
||||||
}
|
}
|
||||||
EXPORT_SYMBOL_GPL(ccw_device_force_console);
|
EXPORT_SYMBOL_GPL(ccw_device_force_console);
|
||||||
#endif
|
#endif
|
||||||
|
|
Loading…
Reference in a new issue