1 /* SPDX-License-Identifier: GPL-2.0 */
3 * trace.h - USB UVC Gadget Trace Support
5 * Copyright (C) 2024 Pengutronix e.K.
11 #define TRACE_SYSTEM uvcg
13 #if !defined(__UVCG_TRACE_H) || defined(TRACE_HEADER_MULTI_READ)
14 #define __UVCG_TRACE_H
16 #include <linux/types.h>
17 #include <linux/tracepoint.h>
18 #include <linux/usb/gadget.h>
19 #include <asm/byteorder.h>
21 DECLARE_EVENT_CLASS(uvcg_video_req,
22 TP_PROTO(struct usb_request *req, u32 queued),
25 __field(struct usb_request *, req)
31 __entry->length = req->length;
32 __entry->queued = queued;
34 TP_printk("req %p length %u queued %u",
40 DEFINE_EVENT(uvcg_video_req, uvcg_video_complete,
41 TP_PROTO(struct usb_request *req, u32 queued),
45 DEFINE_EVENT(uvcg_video_req, uvcg_video_queue,
46 TP_PROTO(struct usb_request *req, u32 queued),
50 #endif /* __UVCG_TRACE_H */
52 /* this part has to be here */
54 #undef TRACE_INCLUDE_PATH
55 #define TRACE_INCLUDE_PATH .
57 #undef TRACE_INCLUDE_FILE
58 #define TRACE_INCLUDE_FILE uvc_trace
60 #include <trace/define_trace.h>