xref: /openbmc/linux/drivers/s390/cio/cio_debug.h (revision 8be98d2f2a0a262f8bf8a0bc1fdf522b3c7aab17)
1b2441318SGreg Kroah-Hartman /* SPDX-License-Identifier: GPL-2.0 */
21da177e4SLinus Torvalds #ifndef CIO_DEBUG_H
31da177e4SLinus Torvalds #define CIO_DEBUG_H
41da177e4SLinus Torvalds 
51da177e4SLinus Torvalds #include <asm/debug.h>
61da177e4SLinus Torvalds 
706fbcb10SPeter Oberparleiter /* for use of debug feature */
806fbcb10SPeter Oberparleiter extern debug_info_t *cio_debug_msg_id;
906fbcb10SPeter Oberparleiter extern debug_info_t *cio_debug_trace_id;
1006fbcb10SPeter Oberparleiter extern debug_info_t *cio_debug_crw_id;
1106fbcb10SPeter Oberparleiter 
121da177e4SLinus Torvalds #define CIO_TRACE_EVENT(imp, txt) do {				\
131da177e4SLinus Torvalds 		debug_text_event(cio_debug_trace_id, imp, txt); \
141da177e4SLinus Torvalds 	} while (0)
151da177e4SLinus Torvalds 
161da177e4SLinus Torvalds #define CIO_MSG_EVENT(imp, args...) do {				\
171da177e4SLinus Torvalds 		debug_sprintf_event(cio_debug_msg_id, imp , ##args);	\
181da177e4SLinus Torvalds 	} while (0)
191da177e4SLinus Torvalds 
201da177e4SLinus Torvalds #define CIO_CRW_EVENT(imp, args...) do {				\
211da177e4SLinus Torvalds 		debug_sprintf_event(cio_debug_crw_id, imp , ##args);	\
221da177e4SLinus Torvalds 	} while (0)
231da177e4SLinus Torvalds 
CIO_HEX_EVENT(int level,void * data,int length)24bc698bcfSCornelia Huck static inline void CIO_HEX_EVENT(int level, void *data, int length)
2506fbcb10SPeter Oberparleiter {
2606fbcb10SPeter Oberparleiter 	debug_event(cio_debug_trace_id, level, data, length);
2706fbcb10SPeter Oberparleiter }
281da177e4SLinus Torvalds 
29*64a715abSVineeth Vijayan /* For the CIO debugfs related features */
30*64a715abSVineeth Vijayan extern struct dentry *cio_debugfs_dir;
31*64a715abSVineeth Vijayan 
321da177e4SLinus Torvalds #endif
33