1 /* SPDX-License-Identifier: GPL-2.0
2  * Tracepoints for vfio_ccw driver
3  *
4  * Copyright IBM Corp. 2018
5  *
6  * Author(s): Dong Jia Shi <bjsdjshi@linux.vnet.ibm.com>
7  *            Halil Pasic <pasic@linux.vnet.ibm.com>
8  */
9 
10 #undef TRACE_SYSTEM
11 #define TRACE_SYSTEM vfio_ccw
12 
13 #if !defined(_VFIO_CCW_TRACE_) || defined(TRACE_HEADER_MULTI_READ)
14 #define _VFIO_CCW_TRACE_
15 
16 #include <linux/tracepoint.h>
17 
18 TRACE_EVENT(vfio_ccw_io_fctl,
19 	TP_PROTO(int fctl, struct subchannel_id schid, int errno, char *errstr),
20 	TP_ARGS(fctl, schid, errno, errstr),
21 
22 	TP_STRUCT__entry(
23 		__field(int, fctl)
24 		__field_struct(struct subchannel_id, schid)
25 		__field(int, errno)
26 		__field(char*, errstr)
27 	),
28 
29 	TP_fast_assign(
30 		__entry->fctl = fctl;
31 		__entry->schid = schid;
32 		__entry->errno = errno;
33 		__entry->errstr = errstr;
34 	),
35 
36 	TP_printk("schid=%x.%x.%04x fctl=%x errno=%d info=%s",
37 		  __entry->schid.cssid,
38 		  __entry->schid.ssid,
39 		  __entry->schid.sch_no,
40 		  __entry->fctl,
41 		  __entry->errno,
42 		  __entry->errstr)
43 );
44 
45 #endif /* _VFIO_CCW_TRACE_ */
46 
47 /* This part must be outside protection */
48 
49 #undef TRACE_INCLUDE_PATH
50 #define TRACE_INCLUDE_PATH .
51 #undef TRACE_INCLUDE_FILE
52 #define TRACE_INCLUDE_FILE vfio_ccw_trace
53 
54 #include <trace/define_trace.h>
55