From b0f9f5d2973fb1219059807b97c0a0990e41e439 Mon Sep 17 00:00:00 2001 From: Martin Schwidefsky Date: Tue, 16 Jun 2009 10:30:28 +0200 Subject: [PATCH] --- yaml --- r: 151104 b: refs/heads/master c: 6664845cef13b0a224f43f6c46eddd0b3e018c04 h: refs/heads/master v: v3 --- [refs] | 2 +- trunk/arch/s390/include/asm/ccwdev.h | 1 + trunk/drivers/s390/cio/device.c | 9 +++++++++ 3 files changed, 11 insertions(+), 1 deletion(-) diff --git a/[refs] b/[refs] index 2c1169cb6e6a..f7946e4ae803 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: 14532095dfe9e8faf2d314d9c2170f64737c7dff +refs/heads/master: 6664845cef13b0a224f43f6c46eddd0b3e018c04 diff --git a/trunk/arch/s390/include/asm/ccwdev.h b/trunk/arch/s390/include/asm/ccwdev.h index 18f0a7580926..2a5419551176 100644 --- a/trunk/arch/s390/include/asm/ccwdev.h +++ b/trunk/arch/s390/include/asm/ccwdev.h @@ -192,6 +192,7 @@ extern void ccw_device_get_id(struct ccw_device *, struct ccw_dev_id *); #define to_ccwdrv(n) container_of(n, struct ccw_driver, driver) extern struct ccw_device *ccw_device_probe_console(void); +extern int ccw_device_force_console(void); // FIXME: these have to go extern int _ccw_device_get_subchannel_number(struct ccw_device *); diff --git a/trunk/drivers/s390/cio/device.c b/trunk/drivers/s390/cio/device.c index 64bd79ac25a7..3c57c1a18bb8 100644 --- a/trunk/drivers/s390/cio/device.c +++ b/trunk/drivers/s390/cio/device.c @@ -1789,6 +1789,15 @@ ccw_device_probe_console(void) return &console_cdev; } +static int ccw_device_pm_restore(struct device *dev); + +int ccw_device_force_console(void) +{ + if (!console_cdev_in_use) + return -ENODEV; + return ccw_device_pm_restore(&console_cdev.dev); +} +EXPORT_SYMBOL_GPL(ccw_device_force_console); const char *cio_get_console_cdev_name(struct subchannel *sch) {