diff options
-rw-r--r-- | drivers/s390/cio/cio.c | 2 | ||||
-rw-r--r-- | drivers/s390/cio/cio_debug.h | 22 |
2 files changed, 15 insertions, 9 deletions
diff --git a/drivers/s390/cio/cio.c b/drivers/s390/cio/cio.c index cbb86fa5f293..5b20d8c9c025 100644 --- a/drivers/s390/cio/cio.c +++ b/drivers/s390/cio/cio.c | |||
@@ -67,7 +67,7 @@ cio_debug_init (void) | |||
67 | goto out_unregister; | 67 | goto out_unregister; |
68 | debug_register_view (cio_debug_msg_id, &debug_sprintf_view); | 68 | debug_register_view (cio_debug_msg_id, &debug_sprintf_view); |
69 | debug_set_level (cio_debug_msg_id, 2); | 69 | debug_set_level (cio_debug_msg_id, 2); |
70 | cio_debug_trace_id = debug_register ("cio_trace", 16, 4, 8); | 70 | cio_debug_trace_id = debug_register ("cio_trace", 16, 4, 16); |
71 | if (!cio_debug_trace_id) | 71 | if (!cio_debug_trace_id) |
72 | goto out_unregister; | 72 | goto out_unregister; |
73 | debug_register_view (cio_debug_trace_id, &debug_hex_ascii_view); | 73 | debug_register_view (cio_debug_trace_id, &debug_hex_ascii_view); |
diff --git a/drivers/s390/cio/cio_debug.h b/drivers/s390/cio/cio_debug.h index 6af8b27d366b..f88844adae1b 100644 --- a/drivers/s390/cio/cio_debug.h +++ b/drivers/s390/cio/cio_debug.h | |||
@@ -3,6 +3,11 @@ | |||
3 | 3 | ||
4 | #include <asm/debug.h> | 4 | #include <asm/debug.h> |
5 | 5 | ||
6 | /* for use of debug feature */ | ||
7 | extern debug_info_t *cio_debug_msg_id; | ||
8 | extern debug_info_t *cio_debug_trace_id; | ||
9 | extern debug_info_t *cio_debug_crw_id; | ||
10 | |||
6 | #define CIO_TRACE_EVENT(imp, txt) do { \ | 11 | #define CIO_TRACE_EVENT(imp, txt) do { \ |
7 | debug_text_event(cio_debug_trace_id, imp, txt); \ | 12 | debug_text_event(cio_debug_trace_id, imp, txt); \ |
8 | } while (0) | 13 | } while (0) |
@@ -15,18 +20,19 @@ | |||
15 | debug_sprintf_event(cio_debug_crw_id, imp , ##args); \ | 20 | debug_sprintf_event(cio_debug_crw_id, imp , ##args); \ |
16 | } while (0) | 21 | } while (0) |
17 | 22 | ||
18 | #define CIO_HEX_EVENT(imp, args...) do { \ | 23 | static inline void |
19 | debug_event(cio_debug_trace_id, imp, ##args); \ | 24 | CIO_HEX_EVENT(int level, void *data, int length) |
20 | } while (0) | 25 | { |
26 | while (length > 0) { | ||
27 | debug_event(cio_debug_trace_id, level, data, length); | ||
28 | length -= cio_debug_trace_id->buf_size; | ||
29 | data += cio_debug_trace_id->buf_size; | ||
30 | } | ||
31 | } | ||
21 | 32 | ||
22 | #define CIO_DEBUG(printk_level,event_level,msg...) ({ \ | 33 | #define CIO_DEBUG(printk_level,event_level,msg...) ({ \ |
23 | if (cio_show_msg) printk(printk_level msg); \ | 34 | if (cio_show_msg) printk(printk_level msg); \ |
24 | CIO_MSG_EVENT (event_level, msg); \ | 35 | CIO_MSG_EVENT (event_level, msg); \ |
25 | }) | 36 | }) |
26 | 37 | ||
27 | /* for use of debug feature */ | ||
28 | extern debug_info_t *cio_debug_msg_id; | ||
29 | extern debug_info_t *cio_debug_trace_id; | ||
30 | extern debug_info_t *cio_debug_crw_id; | ||
31 | |||
32 | #endif | 38 | #endif |