drivers/bus/mhi/host/trace.h

Source file repositories/reference/linux-study-clean/drivers/bus/mhi/host/trace.h

File Facts

System
Linux kernel
Corpus path
drivers/bus/mhi/host/trace.h
Extension
.h
Size
7066 bytes
Lines
284
Domain
Driver Families
Bucket
drivers/bus
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 mhi_host

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

#include <linux/byteorder/generic.h>
#include <linux/tracepoint.h>
#include <linux/trace_seq.h>
#include "../common.h"
#include "internal.h"

#undef mhi_state
#undef mhi_state_end

#define mhi_state(a, b)		TRACE_DEFINE_ENUM(MHI_STATE_##a);
#define mhi_state_end(a, b)	TRACE_DEFINE_ENUM(MHI_STATE_##a);

MHI_STATE_LIST

#undef mhi_state
#undef mhi_state_end

#define mhi_state(a, b)		{ MHI_STATE_##a, b },
#define mhi_state_end(a, b)	{ MHI_STATE_##a, b }

#undef mhi_pm_state
#undef mhi_pm_state_end

#define mhi_pm_state(a, b)		TRACE_DEFINE_ENUM(MHI_PM_STATE_##a);
#define mhi_pm_state_end(a, b)		TRACE_DEFINE_ENUM(MHI_PM_STATE_##a);

MHI_PM_STATE_LIST

#undef mhi_pm_state
#undef mhi_pm_state_end

#define mhi_pm_state(a, b)		{ MHI_PM_STATE_##a, b },
#define mhi_pm_state_end(a, b)		{ MHI_PM_STATE_##a, b }

#undef mhi_ee
#undef mhi_ee_end

#define mhi_ee(a, b)			TRACE_DEFINE_ENUM(MHI_EE_##a);
#define mhi_ee_end(a, b)		TRACE_DEFINE_ENUM(MHI_EE_##a);

MHI_EE_LIST

#undef mhi_ee
#undef mhi_ee_end

#define mhi_ee(a, b)			{ MHI_EE_##a, b },
#define mhi_ee_end(a, b)		{ MHI_EE_##a, b }

#undef ch_state_type
#undef ch_state_type_end

#define ch_state_type(a, b)		TRACE_DEFINE_ENUM(MHI_CH_STATE_TYPE_##a);
#define ch_state_type_end(a, b)		TRACE_DEFINE_ENUM(MHI_CH_STATE_TYPE_##a);

MHI_CH_STATE_TYPE_LIST

#undef ch_state_type
#undef ch_state_type_end

#define ch_state_type(a, b)		{ MHI_CH_STATE_TYPE_##a, b },
#define ch_state_type_end(a, b)		{ MHI_CH_STATE_TYPE_##a, b }

#undef dev_st_trans
#undef dev_st_trans_end

#define dev_st_trans(a, b)		TRACE_DEFINE_ENUM(DEV_ST_TRANSITION_##a);
#define dev_st_trans_end(a, b)		TRACE_DEFINE_ENUM(DEV_ST_TRANSITION_##a);

DEV_ST_TRANSITION_LIST

#undef dev_st_trans
#undef dev_st_trans_end

#define dev_st_trans(a, b)		{ DEV_ST_TRANSITION_##a, b },
#define dev_st_trans_end(a, b)		{ DEV_ST_TRANSITION_##a, b }

#define TPS(x)	tracepoint_string(x)

TRACE_EVENT(mhi_gen_tre,

	TP_PROTO(struct mhi_controller *mhi_cntrl, struct mhi_chan *mhi_chan,
		 struct mhi_ring_element *mhi_tre),

	TP_ARGS(mhi_cntrl, mhi_chan, mhi_tre),

Annotation

Implementation Notes