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