Skip to content

Commit

Permalink
[S390] cio: Cleanup debug feature usage.
Browse files Browse the repository at this point in the history
Cleanup cio_debug.h.
Also make CIO_DEBUG add the "cio:" prefix to the printk string
so that it isn't needed for the debug feature.
Fix outdated comments for cio_debug_init() and clean it up.
Enlarge cio_crw to the same size as cio_msg so we may actually
find some relevant information there.

Signed-off-by: Cornelia Huck <cornelia.huck@de.ibm.com>
Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
  • Loading branch information
Cornelia Huck authored and Martin Schwidefsky committed Jan 26, 2008
1 parent 25b7bb5 commit bc698bc
Show file tree
Hide file tree
Showing 3 changed files with 33 additions and 35 deletions.
38 changes: 18 additions & 20 deletions drivers/s390/cio/cio.c
Original file line number Diff line number Diff line change
Expand Up @@ -56,39 +56,37 @@ __setup ("cio_msg=", cio_setup);

/*
* Function: cio_debug_init
* Initializes three debug logs (under /proc/s390dbf) for common I/O:
* - cio_msg logs the messages which are printk'ed when CONFIG_DEBUG_IO is on
* Initializes three debug logs for common I/O:
* - cio_msg logs generic cio messages
* - cio_trace logs the calling of different functions
* - cio_crw logs the messages which are printk'ed when CONFIG_DEBUG_CRW is on
* debug levels depend on CONFIG_DEBUG_IO resp. CONFIG_DEBUG_CRW
* - cio_crw logs machine check related cio messages
*/
static int __init
cio_debug_init (void)
static int __init cio_debug_init(void)
{
cio_debug_msg_id = debug_register ("cio_msg", 16, 4, 16*sizeof (long));
cio_debug_msg_id = debug_register("cio_msg", 16, 4, 16 * sizeof(long));
if (!cio_debug_msg_id)
goto out_unregister;
debug_register_view (cio_debug_msg_id, &debug_sprintf_view);
debug_set_level (cio_debug_msg_id, 2);
cio_debug_trace_id = debug_register ("cio_trace", 16, 4, 16);
debug_register_view(cio_debug_msg_id, &debug_sprintf_view);
debug_set_level(cio_debug_msg_id, 2);
cio_debug_trace_id = debug_register("cio_trace", 16, 4, 16);
if (!cio_debug_trace_id)
goto out_unregister;
debug_register_view (cio_debug_trace_id, &debug_hex_ascii_view);
debug_set_level (cio_debug_trace_id, 2);
cio_debug_crw_id = debug_register ("cio_crw", 4, 4, 16*sizeof (long));
debug_register_view(cio_debug_trace_id, &debug_hex_ascii_view);
debug_set_level(cio_debug_trace_id, 2);
cio_debug_crw_id = debug_register("cio_crw", 16, 4, 16 * sizeof(long));
if (!cio_debug_crw_id)
goto out_unregister;
debug_register_view (cio_debug_crw_id, &debug_sprintf_view);
debug_set_level (cio_debug_crw_id, 2);
debug_register_view(cio_debug_crw_id, &debug_sprintf_view);
debug_set_level(cio_debug_crw_id, 4);
return 0;

out_unregister:
if (cio_debug_msg_id)
debug_unregister (cio_debug_msg_id);
debug_unregister(cio_debug_msg_id);
if (cio_debug_trace_id)
debug_unregister (cio_debug_trace_id);
debug_unregister(cio_debug_trace_id);
if (cio_debug_crw_id)
debug_unregister (cio_debug_crw_id);
debug_unregister(cio_debug_crw_id);
printk(KERN_WARNING"cio: could not initialize debugging\n");
return -1;
}
Expand Down Expand Up @@ -567,7 +565,7 @@ cio_validate_subchannel (struct subchannel *sch, struct subchannel_id schid)
*/
if (sch->st != 0) {
CIO_DEBUG(KERN_INFO, 0,
"cio: Subchannel 0.%x.%04x reports "
"Subchannel 0.%x.%04x reports "
"non-I/O subchannel type %04X\n",
sch->schid.ssid, sch->schid.sch_no, sch->st);
/* We stop here for non-io subchannels. */
Expand Down Expand Up @@ -600,7 +598,7 @@ cio_validate_subchannel (struct subchannel *sch, struct subchannel_id schid)
sch->lpm = sch->schib.pmcw.pam & sch->opm;

CIO_DEBUG(KERN_INFO, 0,
"cio: Detected device %04x on subchannel 0.%x.%04X"
"Detected device %04x on subchannel 0.%x.%04X"
" - PIM = %02X, PAM = %02X, POM = %02X\n",
sch->schib.pmcw.dev, sch->schid.ssid,
sch->schid.sch_no, sch->schib.pmcw.pim,
Expand Down
22 changes: 11 additions & 11 deletions drivers/s390/cio/cio_debug.h
Original file line number Diff line number Diff line change
Expand Up @@ -8,20 +8,19 @@ extern debug_info_t *cio_debug_msg_id;
extern debug_info_t *cio_debug_trace_id;
extern debug_info_t *cio_debug_crw_id;

#define CIO_TRACE_EVENT(imp, txt) do { \
#define CIO_TRACE_EVENT(imp, txt) do { \
debug_text_event(cio_debug_trace_id, imp, txt); \
} while (0)

#define CIO_MSG_EVENT(imp, args...) do { \
debug_sprintf_event(cio_debug_msg_id, imp , ##args); \
#define CIO_MSG_EVENT(imp, args...) do { \
debug_sprintf_event(cio_debug_msg_id, imp , ##args); \
} while (0)

#define CIO_CRW_EVENT(imp, args...) do { \
debug_sprintf_event(cio_debug_crw_id, imp , ##args); \
#define CIO_CRW_EVENT(imp, args...) do { \
debug_sprintf_event(cio_debug_crw_id, imp , ##args); \
} while (0)

static inline void
CIO_HEX_EVENT(int level, void *data, int length)
static inline void CIO_HEX_EVENT(int level, void *data, int length)
{
if (unlikely(!cio_debug_trace_id))
return;
Expand All @@ -32,9 +31,10 @@ CIO_HEX_EVENT(int level, void *data, int length)
}
}

#define CIO_DEBUG(printk_level,event_level,msg...) ({ \
if (cio_show_msg) printk(printk_level msg); \
CIO_MSG_EVENT (event_level, msg); \
})
#define CIO_DEBUG(printk_level, event_level, msg...) do { \
if (cio_show_msg) \
printk(printk_level "cio: " msg); \
CIO_MSG_EVENT(event_level, msg); \
} while (0)

#endif
8 changes: 4 additions & 4 deletions drivers/s390/cio/device_fsm.c
Original file line number Diff line number Diff line change
Expand Up @@ -318,7 +318,7 @@ ccw_device_recog_done(struct ccw_device *cdev, int state)
switch (state) {
case DEV_STATE_NOT_OPER:
CIO_DEBUG(KERN_WARNING, 2,
"cio: SenseID : unknown device %04x on subchannel "
"SenseID : unknown device %04x on subchannel "
"0.%x.%04x\n", cdev->private->dev_id.devno,
sch->schid.ssid, sch->schid.sch_no);
break;
Expand All @@ -344,7 +344,7 @@ ccw_device_recog_done(struct ccw_device *cdev, int state)
}
/* Issue device info message. */
CIO_DEBUG(KERN_INFO, 2,
"cio: SenseID : device 0.%x.%04x reports: "
"SenseID : device 0.%x.%04x reports: "
"CU Type/Mod = %04X/%02X, Dev Type/Mod = "
"%04X/%02X\n",
cdev->private->dev_id.ssid,
Expand All @@ -354,7 +354,7 @@ ccw_device_recog_done(struct ccw_device *cdev, int state)
break;
case DEV_STATE_BOXED:
CIO_DEBUG(KERN_WARNING, 2,
"cio: SenseID : boxed device %04x on subchannel "
"SenseID : boxed device %04x on subchannel "
"0.%x.%04x\n", cdev->private->dev_id.devno,
sch->schid.ssid, sch->schid.sch_no);
break;
Expand Down Expand Up @@ -439,7 +439,7 @@ ccw_device_done(struct ccw_device *cdev, int state)

if (state == DEV_STATE_BOXED)
CIO_DEBUG(KERN_WARNING, 2,
"cio: Boxed device %04x on subchannel %04x\n",
"Boxed device %04x on subchannel %04x\n",
cdev->private->dev_id.devno, sch->schid.sch_no);

if (cdev->private->flags.donotify) {
Expand Down

0 comments on commit bc698bc

Please sign in to comment.