drivers/usb/mtu3/mtu3_trace.h

Source file repositories/reference/linux-study-clean/drivers/usb/mtu3/mtu3_trace.h

File Facts

System
Linux kernel
Corpus path
drivers/usb/mtu3/mtu3_trace.h
Extension
.h
Size
6908 bytes
Lines
278
Domain
Driver Families
Bucket
drivers/usb
Inferred role
Driver Families: implementation source
Status
source implementation candidate

Why This File Exists

Repeatable hardware-adapter layer. Deep compatibility for every driver is out of scope; this atlas records patterns, probe lifecycles, bus glue, IRQ/DMA usage, and links back to core abstractions.

Dependency Surface

Detected Declarations

Annotated Snippet

#undef TRACE_SYSTEM
#define TRACE_SYSTEM mtu3

#if !defined(__MTU3_TRACE_H__) || defined(TRACE_HEADER_MULTI_READ)
#define __MTU3_TRACE_H__

#include <linux/types.h>
#include <linux/tracepoint.h>

#include "mtu3.h"

TRACE_EVENT(mtu3_log,
	TP_PROTO(struct device *dev, struct va_format *vaf),
	TP_ARGS(dev, vaf),
	TP_STRUCT__entry(
		__string(name, dev_name(dev))
		__vstring(msg, vaf->fmt, vaf->va)
	),
	TP_fast_assign(
		__assign_str(name);
		__assign_vstr(msg, vaf->fmt, vaf->va);
	),
	TP_printk("%s: %s", __get_str(name), __get_str(msg))
);

TRACE_EVENT(mtu3_u3_ltssm_isr,
	TP_PROTO(u32 intr),
	TP_ARGS(intr),
	TP_STRUCT__entry(
		__field(u32, intr)
	),
	TP_fast_assign(
		__entry->intr = intr;
	),
	TP_printk("(%08x) %s %s %s %s %s %s", __entry->intr,
		__entry->intr & HOT_RST_INTR ? "HOT_RST" : "",
		__entry->intr & WARM_RST_INTR ? "WARM_RST" : "",
		__entry->intr & ENTER_U3_INTR ? "ENT_U3" : "",
		__entry->intr & EXIT_U3_INTR ? "EXIT_U3" : "",
		__entry->intr & VBUS_RISE_INTR ? "VBUS_RISE" : "",
		__entry->intr & VBUS_FALL_INTR ? "VBUS_FALL" : ""
	)
);

TRACE_EVENT(mtu3_u2_common_isr,
	TP_PROTO(u32 intr),
	TP_ARGS(intr),
	TP_STRUCT__entry(
		__field(u32, intr)
	),
	TP_fast_assign(
		__entry->intr = intr;
	),
	TP_printk("(%08x) %s %s %s", __entry->intr,
		__entry->intr & SUSPEND_INTR ? "SUSPEND" : "",
		__entry->intr & RESUME_INTR ? "RESUME" : "",
		__entry->intr & RESET_INTR ? "RESET" : ""
	)
);

TRACE_EVENT(mtu3_qmu_isr,
	TP_PROTO(u32 done_intr, u32 exp_intr),
	TP_ARGS(done_intr, exp_intr),
	TP_STRUCT__entry(
		__field(u32, done_intr)
		__field(u32, exp_intr)
	),
	TP_fast_assign(
		__entry->done_intr = done_intr;
		__entry->exp_intr = exp_intr;
	),
	TP_printk("done (tx %04x, rx %04x), exp (%08x)",
		__entry->done_intr & 0xffff,
		__entry->done_intr >> 16,
		__entry->exp_intr
	)
);

DECLARE_EVENT_CLASS(mtu3_log_setup,
	TP_PROTO(struct usb_ctrlrequest *setup),
	TP_ARGS(setup),
	TP_STRUCT__entry(
		__field(__u8, bRequestType)
		__field(__u8, bRequest)
		__field(__u16, wValue)
		__field(__u16, wIndex)
		__field(__u16, wLength)
	),
	TP_fast_assign(
		__entry->bRequestType = setup->bRequestType;

Annotation

Implementation Notes