[patch 5/6] kmsg: convert vmcp to kmsg api.

From: Martin Schwidefsky
Date: Thu Sep 25 2008 - 12:45:16 EST


From: Christian Borntraeger <borntraeger@xxxxxxxxxx>

Signed-off-by: Christian Borntraeger <borntraeger@xxxxxxxxxx>
Signed-off-by: Martin Schwidefsky <schwidefsky@xxxxxxxxxx>
---

drivers/s390/char/vmcp.c | 23 ++++++++++++++++++++---
1 file changed, 20 insertions(+), 3 deletions(-)

Index: kmsg-2.6/drivers/s390/char/vmcp.c
===================================================================
--- kmsg-2.6.orig/drivers/s390/char/vmcp.c
+++ kmsg-2.6/drivers/s390/char/vmcp.c
@@ -11,12 +11,15 @@
* The idea of this driver is based on cpint from Neale Ferguson and #CP in CMS
*/

+#define KMSG_COMPONENT "vmcp"
+
#include <linux/fs.h>
#include <linux/init.h>
#include <linux/kernel.h>
#include <linux/miscdevice.h>
#include <linux/module.h>
#include <linux/smp_lock.h>
+#include <linux/kmsg.h>
#include <asm/cpcmd.h>
#include <asm/debug.h>
#include <asm/uaccess.h>
@@ -26,8 +29,6 @@ MODULE_LICENSE("GPL");
MODULE_AUTHOR("Christian Borntraeger <borntraeger@xxxxxxxxxx>");
MODULE_DESCRIPTION("z/VM CP interface");

-#define PRINTK_HEADER "vmcp: "
-
static debug_info_t *vmcp_debug;

static int vmcp_open(struct inode *inode, struct file *file)
@@ -193,7 +194,8 @@ static int __init vmcp_init(void)
int ret;

if (!MACHINE_IS_VM) {
- PRINT_WARN("z/VM CP interface is only available under z/VM\n");
+ kmsg_warn("The z/VM CP interface device driver cannot be "
+ "loaded without z/VM\n");
return -ENODEV;
}

@@ -216,6 +218,21 @@ static int __init vmcp_init(void)
return 0;
}

+/*?
+ * Tag: vmcp.42661a
+ * Text: "The z/VM CP interface device driver cannot be loaded without z/VM\n"
+ * Severity: Warning
+ * Description:
+ * With the z/VM CP interface you can issue z/VM CP commands from a Linux
+ * terminal session. On Linux instances that run in environments other than
+ * the z/VM hypervisor, the z/VM CP interface does not provide any useful
+ * function and the corresponding vmcp device driver cannot be loaded.
+ * User action:
+ * Load the vmcp device driver only on Linux instances that run as guest
+ * operating systems of the z/VM hypervisor. If the device driver has been
+ * compiled into the kernel, ignore this message.
+ */
+
static void __exit vmcp_exit(void)
{
misc_deregister(&vmcp_dev);

--
blue skies,
Martin.

"Reality continues to ruin my life." - Calvin.

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/