Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 2ca5b6e2 authored by Gerald Schaefer's avatar Gerald Schaefer Committed by Heiko Carstens
Browse files

[S390] Cleanup monreader printk messages.

parent d3ae942d
Loading
Loading
Loading
Loading
+7 −67
Original line number Diff line number Diff line
@@ -3,9 +3,8 @@
 *
 * Character device driver for reading z/VM *MONITOR service records.
 *
 * Copyright 2004 IBM Corporation, IBM Deutschland Entwicklung GmbH.
 *
 * Author: Gerald Schaefer <geraldsc@de.ibm.com>
 *   Copyright IBM Corp. 2004, 2008
 *   Author: Gerald Schaefer <gerald.schaefer@de.ibm.com>
 */

#include <linux/module.h>
@@ -18,12 +17,11 @@
#include <linux/ctype.h>
#include <linux/spinlock.h>
#include <linux/interrupt.h>
#include <linux/poll.h>
#include <net/iucv/iucv.h>
#include <asm/uaccess.h>
#include <asm/ebcdic.h>
#include <asm/extmem.h>
#include <linux/poll.h>
#include <net/iucv/iucv.h>


//#define MON_DEBUG			/* Debug messages on/off */

@@ -152,10 +150,7 @@ static int mon_check_mca(struct mon_msg *monmsg)
	    (mon_mca_end(monmsg) > mon_dcss_end) ||
	    (mon_mca_start(monmsg) < mon_dcss_start) ||
	    ((mon_mca_type(monmsg, 1) == 0) && (mon_mca_type(monmsg, 2) == 0)))
	{
		P_DEBUG("READ, IGNORED INVALID MCA\n\n");
		return -EINVAL;
	}
	return 0;
}

@@ -164,10 +159,6 @@ static int mon_send_reply(struct mon_msg *monmsg,
{
	int rc;

	P_DEBUG("read, REPLY: pathid = 0x%04X, msgid = 0x%08X, trgcls = "
		"0x%08X\n\n",
		monpriv->path->pathid, monmsg->msg.id, monmsg->msg.class);

	rc = iucv_message_reply(monpriv->path, &monmsg->msg,
				IUCV_IPRMDATA, NULL, 0);
	atomic_dec(&monpriv->msglim_count);
@@ -202,15 +193,12 @@ static struct mon_private *mon_alloc_mem(void)
	struct mon_private *monpriv;

	monpriv = kzalloc(sizeof(struct mon_private), GFP_KERNEL);
	if (!monpriv) {
		P_ERROR("no memory for monpriv\n");
	if (!monpriv)
		return NULL;
	}
	for (i = 0; i < MON_MSGLIM; i++) {
		monpriv->msg_array[i] = kzalloc(sizeof(struct mon_msg),
						    GFP_KERNEL);
		if (!monpriv->msg_array[i]) {
			P_ERROR("open, no memory for msg_array\n");
			mon_free_mem(monpriv);
			return NULL;
		}
@@ -218,41 +206,10 @@ static struct mon_private *mon_alloc_mem(void)
	return monpriv;
}

static inline void mon_read_debug(struct mon_msg *monmsg,
				  struct mon_private *monpriv)
{
#ifdef MON_DEBUG
	u8 msg_type[2], mca_type;
	unsigned long records_len;

	records_len = mon_rec_end(monmsg) - mon_rec_start(monmsg) + 1;

	memcpy(msg_type, &monmsg->msg.class, 2);
	EBCASC(msg_type, 2);
	mca_type = mon_mca_type(monmsg, 0);
	EBCASC(&mca_type, 1);

	P_DEBUG("read, mon_read_index = %i, mon_write_index = %i\n",
		monpriv->read_index, monpriv->write_index);
	P_DEBUG("read, pathid = 0x%04X, msgid = 0x%08X, trgcls = 0x%08X\n",
		monpriv->path->pathid, monmsg->msg.id, monmsg->msg.class);
	P_DEBUG("read, msg_type = '%c%c', mca_type = '%c' / 0x%X / 0x%X\n",
		msg_type[0], msg_type[1], mca_type ? mca_type : 'X',
		mon_mca_type(monmsg, 1), mon_mca_type(monmsg, 2));
	P_DEBUG("read, MCA: start = 0x%lX, end = 0x%lX\n",
		mon_mca_start(monmsg), mon_mca_end(monmsg));
	P_DEBUG("read, REC: start = 0x%X, end = 0x%X, len = %lu\n\n",
		mon_rec_start(monmsg), mon_rec_end(monmsg), records_len);
	if (mon_mca_size(monmsg) > 12)
		P_DEBUG("READ, MORE THAN ONE MCA\n\n");
#endif
}

static inline void mon_next_mca(struct mon_msg *monmsg)
{
	if (likely((mon_mca_size(monmsg) - monmsg->mca_offset) == 12))
		return;
	P_DEBUG("READ, NEXT MCA\n\n");
	monmsg->mca_offset += 12;
	monmsg->pos = 0;
}
@@ -269,7 +226,6 @@ static struct mon_msg *mon_next_message(struct mon_private *monpriv)
		monmsg->msglim_reached = 0;
		monmsg->pos = 0;
		monmsg->mca_offset = 0;
		P_WARNING("read, message limit reached\n");
		monpriv->read_index = (monpriv->read_index + 1) %
				      MON_MSGLIM;
		atomic_dec(&monpriv->read_ready);
@@ -286,10 +242,6 @@ static void mon_iucv_path_complete(struct iucv_path *path, u8 ipuser[16])
{
	struct mon_private *monpriv = path->private;

	P_DEBUG("IUCV connection completed\n");
	P_DEBUG("IUCV ACCEPT (from *MONITOR): Version = 0x%02X, Event = "
		"0x%02X, Sample = 0x%02X\n",
		ipuser[0], ipuser[1], ipuser[2]);
	atomic_set(&monpriv->iucv_connected, 1);
	wake_up(&mon_conn_wait_queue);
}
@@ -310,7 +262,6 @@ static void mon_iucv_message_pending(struct iucv_path *path,
{
	struct mon_private *monpriv = path->private;

	P_DEBUG("IUCV message pending\n");
	memcpy(&monpriv->msg_array[monpriv->write_index]->msg,
	       msg, sizeof(*msg));
	if (atomic_inc_return(&monpriv->msglim_count) == MON_MSGLIM) {
@@ -375,7 +326,6 @@ static int mon_open(struct inode *inode, struct file *filp)
		rc = -EIO;
		goto out_path;
	}
	P_INFO("open, established connection to *MONITOR service\n\n");
	filp->private_data = monpriv;
	return nonseekable_open(inode, filp);

@@ -400,8 +350,6 @@ static int mon_close(struct inode *inode, struct file *filp)
	rc = iucv_path_sever(monpriv->path, user_data_sever);
	if (rc)
		P_ERROR("close, iucv_sever failed with rc = %i\n", rc);
	else
		P_INFO("close, terminated connection to *MONITOR service\n");

	atomic_set(&monpriv->iucv_severed, 0);
	atomic_set(&monpriv->iucv_connected, 0);
@@ -442,10 +390,8 @@ static ssize_t mon_read(struct file *filp, char __user *data,
		monmsg = monpriv->msg_array[monpriv->read_index];
	}

	if (!monmsg->pos) {
	if (!monmsg->pos)
		monmsg->pos = mon_mca_start(monmsg) + monmsg->mca_offset;
		mon_read_debug(monmsg, monpriv);
	}
	if (mon_check_mca(monmsg))
		goto reply;

@@ -531,7 +477,6 @@ static int __init mon_init(void)
		P_ERROR("failed to register with iucv driver\n");
		return rc;
	}
	P_INFO("open, registered with IUCV\n");

	rc = segment_type(mon_dcss_name);
	if (rc < 0) {
@@ -555,13 +500,8 @@ static int __init mon_init(void)
	dcss_mkname(mon_dcss_name, &user_data_connect[8]);

	rc = misc_register(&mon_dev);
	if (rc < 0 ) {
		P_ERROR("misc_register failed, rc = %i\n", rc);
	if (rc < 0 )
		goto out;
	}
	P_INFO("Loaded segment %s from %p to %p, size = %lu Byte\n",
		mon_dcss_name, (void *) mon_dcss_start, (void *) mon_dcss_end,
		mon_dcss_end - mon_dcss_start + 1);
	return 0;

out: