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

Commit aa3f2cb6 authored by Peter Tiedemann's avatar Peter Tiedemann Committed by Jeff Garzik
Browse files

s390/net/ctcm: message cleanup



Cc: Martin Schwidefsky <schwidefsky@de.ibm.com>
Signed-off-by: default avatarPeter Tiedemann <ptiedem@de.ibm.com>
Signed-off-by: default avatarUrsula Braun <ursula.braun@de.ibm.com>
Signed-off-by: default avatarJeff Garzik <jgarzik@redhat.com>
parent b805da74
Loading
Loading
Loading
Loading
+21 −8
Original line number Original line Diff line number Diff line
@@ -7,6 +7,7 @@
 */
 */


#include <linux/stddef.h>
#include <linux/stddef.h>
#include <linux/string.h>
#include <linux/kernel.h>
#include <linux/kernel.h>
#include <linux/errno.h>
#include <linux/errno.h>
#include <linux/slab.h>
#include <linux/slab.h>
@@ -22,15 +23,13 @@
 * Debug Facility Stuff
 * Debug Facility Stuff
 */
 */


DEFINE_PER_CPU(char[256], ctcm_dbf_txt_buf);

struct ctcm_dbf_info ctcm_dbf[CTCM_DBF_INFOS] = {
struct ctcm_dbf_info ctcm_dbf[CTCM_DBF_INFOS] = {
	[CTCM_DBF_SETUP]	= {"ctc_setup", 8, 1, 64, 5, NULL},
	[CTCM_DBF_SETUP]     = {"ctc_setup", 8, 1, 64, CTC_DBF_INFO, NULL},
	[CTCM_DBF_ERROR]	= {"ctc_error", 8, 1, 64, 3, NULL},
	[CTCM_DBF_ERROR]     = {"ctc_error", 8, 1, 64, CTC_DBF_ERROR, NULL},
	[CTCM_DBF_TRACE]	= {"ctc_trace", 8, 1, 64, 3, NULL},
	[CTCM_DBF_TRACE]     = {"ctc_trace", 8, 1, 64, CTC_DBF_ERROR, NULL},
	[CTCM_DBF_MPC_SETUP]	= {"mpc_setup", 8, 1, 64, 5, NULL},
	[CTCM_DBF_MPC_SETUP] = {"mpc_setup", 8, 1, 80, CTC_DBF_INFO, NULL},
	[CTCM_DBF_MPC_ERROR]	= {"mpc_error", 8, 1, 64, 3, NULL},
	[CTCM_DBF_MPC_ERROR] = {"mpc_error", 8, 1, 80, CTC_DBF_ERROR, NULL},
	[CTCM_DBF_MPC_TRACE]	= {"mpc_trace", 8, 1, 64, 3, NULL},
	[CTCM_DBF_MPC_TRACE] = {"mpc_trace", 8, 1, 80, CTC_DBF_ERROR, NULL},
};
};


void ctcm_unregister_dbf_views(void)
void ctcm_unregister_dbf_views(void)
@@ -65,3 +64,17 @@ int ctcm_register_dbf_views(void)
	return 0;
	return 0;
}
}


void ctcm_dbf_longtext(enum ctcm_dbf_names dbf_nix, int level, char *fmt, ...)
{
	char dbf_txt_buf[64];
	va_list args;

	if (level > (ctcm_dbf[dbf_nix].id)->level)
		return;
	va_start(args, fmt);
	vsnprintf(dbf_txt_buf, sizeof(dbf_txt_buf), fmt, args);
	va_end(args);

	debug_text_event(ctcm_dbf[dbf_nix].id, level, dbf_txt_buf);
}
+12 −27
Original line number Original line Diff line number Diff line
@@ -20,16 +20,17 @@
#else
#else
 #define do_debug 0
 #define do_debug 0
#endif
#endif
#ifdef DEBUGDATA
 #define do_debug_data 1
#else
 #define do_debug_data 0
#endif
#ifdef DEBUGCCW
#ifdef DEBUGCCW
 #define do_debug_ccw 1
 #define do_debug_ccw 1
 #define DEBUGDATA 1
#else
#else
 #define do_debug_ccw 0
 #define do_debug_ccw 0
#endif
#endif
#ifdef DEBUGDATA
 #define do_debug_data 1
#else
 #define do_debug_data 0
#endif


/* define dbf debug levels similar to kernel msg levels */
/* define dbf debug levels similar to kernel msg levels */
#define	CTC_DBF_ALWAYS	0	/* always print this 			*/
#define	CTC_DBF_ALWAYS	0	/* always print this 			*/
@@ -42,8 +43,6 @@
#define	CTC_DBF_INFO	5	/* informational			*/
#define	CTC_DBF_INFO	5	/* informational			*/
#define	CTC_DBF_DEBUG	6	/* debug-level messages			*/
#define	CTC_DBF_DEBUG	6	/* debug-level messages			*/


DECLARE_PER_CPU(char[256], ctcm_dbf_txt_buf);

enum ctcm_dbf_names {
enum ctcm_dbf_names {
	CTCM_DBF_SETUP,
	CTCM_DBF_SETUP,
	CTCM_DBF_ERROR,
	CTCM_DBF_ERROR,
@@ -67,6 +66,7 @@ extern struct ctcm_dbf_info ctcm_dbf[CTCM_DBF_INFOS];


int ctcm_register_dbf_views(void);
int ctcm_register_dbf_views(void);
void ctcm_unregister_dbf_views(void);
void ctcm_unregister_dbf_views(void);
void ctcm_dbf_longtext(enum ctcm_dbf_names dbf_nix, int level, char *text, ...);


static inline const char *strtail(const char *s, int n)
static inline const char *strtail(const char *s, int n)
{
{
@@ -74,12 +74,6 @@ static inline const char *strtail(const char *s, int n)
	return (l > n) ? s + (l - n) : s;
	return (l > n) ? s + (l - n) : s;
}
}


/* sort out levels early to avoid unnecessary sprintfs */
static inline int ctcm_dbf_passes(debug_info_t *dbf_grp, int level)
{
	return (dbf_grp->level >= level);
}

#define CTCM_FUNTAIL strtail((char *)__func__, 16)
#define CTCM_FUNTAIL strtail((char *)__func__, 16)


#define CTCM_DBF_TEXT(name, level, text) \
#define CTCM_DBF_TEXT(name, level, text) \
@@ -94,16 +88,7 @@ static inline int ctcm_dbf_passes(debug_info_t *dbf_grp, int level)
	} while (0)
	} while (0)


#define CTCM_DBF_TEXT_(name, level, text...) \
#define CTCM_DBF_TEXT_(name, level, text...) \
	do { \
	ctcm_dbf_longtext(CTCM_DBF_##name, level, text)
		if (ctcm_dbf_passes(ctcm_dbf[CTCM_DBF_##name].id, level)) { \
			char *ctcm_dbf_txt_buf = \
					 get_cpu_var(ctcm_dbf_txt_buf); \
			sprintf(ctcm_dbf_txt_buf, text); \
			debug_text_event(ctcm_dbf[CTCM_DBF_##name].id, \
					level, ctcm_dbf_txt_buf); \
			put_cpu_var(ctcm_dbf_txt_buf); \
		} \
	} while (0)


/*
/*
 * cat : one of {setup, mpc_setup, trace, mpc_trace, error, mpc_error}.
 * cat : one of {setup, mpc_setup, trace, mpc_trace, error, mpc_error}.
@@ -112,13 +97,13 @@ static inline int ctcm_dbf_passes(debug_info_t *dbf_grp, int level)
 */
 */
#define CTCM_DBF_DEV_NAME(cat, dev, text) \
#define CTCM_DBF_DEV_NAME(cat, dev, text) \
	do { \
	do { \
		CTCM_DBF_TEXT_(cat, CTC_DBF_INFO, "%s(%s) : %s", \
		CTCM_DBF_TEXT_(cat, CTC_DBF_INFO, "%s(%s) :- %s", \
			CTCM_FUNTAIL, dev->name, text); \
			CTCM_FUNTAIL, dev->name, text); \
	} while (0)
	} while (0)


#define MPC_DBF_DEV_NAME(cat, dev, text) \
#define MPC_DBF_DEV_NAME(cat, dev, text) \
	do { \
	do { \
		CTCM_DBF_TEXT_(MPC_##cat, CTC_DBF_INFO, "%s(%s) : %s", \
		CTCM_DBF_TEXT_(MPC_##cat, CTC_DBF_INFO, "%s(%s) := %s", \
			CTCM_FUNTAIL, dev->name, text); \
			CTCM_FUNTAIL, dev->name, text); \
	} while (0)
	} while (0)


@@ -137,13 +122,13 @@ static inline int ctcm_dbf_passes(debug_info_t *dbf_grp, int level)
 */
 */
#define CTCM_DBF_DEV(cat, dev, text) \
#define CTCM_DBF_DEV(cat, dev, text) \
	do { \
	do { \
		CTCM_DBF_TEXT_(cat, CTC_DBF_INFO, "%s(%p) : %s", \
		CTCM_DBF_TEXT_(cat, CTC_DBF_INFO, "%s(%p) :-: %s", \
			CTCM_FUNTAIL, dev, text); \
			CTCM_FUNTAIL, dev, text); \
	} while (0)
	} while (0)


#define MPC_DBF_DEV(cat, dev, text) \
#define MPC_DBF_DEV(cat, dev, text) \
	do { \
	do { \
		CTCM_DBF_TEXT_(MPC_##cat, CTC_DBF_INFO, "%s(%p) : %s", \
		CTCM_DBF_TEXT_(MPC_##cat, CTC_DBF_INFO, "%s(%p) :=: %s", \
			CTCM_FUNTAIL, dev, text); \
			CTCM_FUNTAIL, dev, text); \
	} while (0)
	} while (0)


+170 −232

File changed.

Preview size limit exceeded, changes collapsed.

+238 −276

File changed.

Preview size limit exceeded, changes collapsed.

+28 −3
Original line number Original line Diff line number Diff line
@@ -22,9 +22,9 @@


#define CTC_DRIVER_NAME	"ctcm"
#define CTC_DRIVER_NAME	"ctcm"
#define CTC_DEVICE_NAME	"ctc"
#define CTC_DEVICE_NAME	"ctc"
#define CTC_DEVICE_GENE	"ctc%d"
#define MPC_DEVICE_NAME	"mpc"
#define MPC_DEVICE_NAME	"mpc"
#define MPC_DEVICE_GENE	"mpc%d"
#define CTC_DEVICE_GENE CTC_DEVICE_NAME "%d"
#define MPC_DEVICE_GENE	MPC_DEVICE_NAME "%d"


#define CHANNEL_FLAGS_READ	0
#define CHANNEL_FLAGS_READ	0
#define CHANNEL_FLAGS_WRITE	1
#define CHANNEL_FLAGS_WRITE	1
@@ -48,6 +48,30 @@
#define ctcm_pr_err(fmt, arg...) printk(KERN_ERR fmt, ##arg)
#define ctcm_pr_err(fmt, arg...) printk(KERN_ERR fmt, ##arg)
#define ctcm_pr_crit(fmt, arg...) printk(KERN_CRIT fmt, ##arg)
#define ctcm_pr_crit(fmt, arg...) printk(KERN_CRIT fmt, ##arg)


#define CTCM_PR_DEBUG(fmt, arg...) \
	do { \
		if (do_debug) \
			printk(KERN_DEBUG fmt, ##arg); \
	} while (0)

#define	CTCM_PR_DBGDATA(fmt, arg...) \
	do { \
		if (do_debug_data) \
			printk(KERN_DEBUG fmt, ##arg); \
	} while (0)

#define	CTCM_D3_DUMP(buf, len) \
	do { \
		if (do_debug_data) \
			ctcmpc_dumpit(buf, len); \
	} while (0)

#define	CTCM_CCW_DUMP(buf, len) \
	do { \
		if (do_debug_ccw) \
			ctcmpc_dumpit(buf, len); \
	} while (0)

/*
/*
 * CCW commands, used in this driver.
 * CCW commands, used in this driver.
 */
 */
@@ -161,8 +185,9 @@ struct channel {
	fsm_instance *fsm;	/* finite state machine of this channel */
	fsm_instance *fsm;	/* finite state machine of this channel */
	struct net_device *netdev;	/* corresponding net_device */
	struct net_device *netdev;	/* corresponding net_device */
	struct ctcm_profile prof;
	struct ctcm_profile prof;
	unsigned char *trans_skb_data;
	__u8 *trans_skb_data;
	__u16 logflags;
	__u16 logflags;
	__u8  sense_rc; /* last unit check sense code report control */
};
};


struct ctcm_priv {
struct ctcm_priv {
Loading