xref: /linux/drivers/s390/cio/cio_debug.h (revision 8e07e0e3964ca4e23ce7b68e2096fe660a888942)
1 /* SPDX-License-Identifier: GPL-2.0 */
2 #ifndef CIO_DEBUG_H
3 #define CIO_DEBUG_H
4 
5 #include <asm/debug.h>
6 
7 /* for use of debug feature */
8 extern debug_info_t *cio_debug_msg_id;
9 extern debug_info_t *cio_debug_trace_id;
10 extern debug_info_t *cio_debug_crw_id;
11 
12 #define CIO_TRACE_EVENT(imp, txt) do {				\
13 		debug_text_event(cio_debug_trace_id, imp, txt); \
14 	} while (0)
15 
16 #define CIO_MSG_EVENT(imp, args...) do {				\
17 		debug_sprintf_event(cio_debug_msg_id, imp , ##args);	\
18 	} while (0)
19 
20 #define CIO_CRW_EVENT(imp, args...) do {				\
21 		debug_sprintf_event(cio_debug_crw_id, imp , ##args);	\
22 	} while (0)
23 
24 static inline void CIO_HEX_EVENT(int level, void *data, int length)
25 {
26 	debug_event(cio_debug_trace_id, level, data, length);
27 }
28 
29 /* For the CIO debugfs related features */
30 extern struct dentry *cio_debugfs_dir;
31 
32 #endif
33