1 #undef TRACE_SYSTEM
2 #define TRACE_SYSTEM power
3 
4 #if !defined(_TRACE_POWER_CPU_MIGRATE_H) || defined(TRACE_HEADER_MULTI_READ)
5 #define _TRACE_POWER_CPU_MIGRATE_H
6 
7 #include <linux/tracepoint.h>
8 
9 #define __cpu_migrate_proto			\
10 	TP_PROTO(u64 timestamp,			\
11 		 u32 cpu_hwid)
12 #define __cpu_migrate_args			\
13 	TP_ARGS(timestamp,			\
14 		cpu_hwid)
15 
16 DECLARE_EVENT_CLASS(cpu_migrate,
17 
18 	__cpu_migrate_proto,
19 	__cpu_migrate_args,
20 
21 	TP_STRUCT__entry(
22 		__field(u64,	timestamp		)
23 		__field(u32,	cpu_hwid		)
24 	),
25 
26 	TP_fast_assign(
27 		__entry->timestamp = timestamp;
28 		__entry->cpu_hwid = cpu_hwid;
29 	),
30 
31 	TP_printk("timestamp=%llu cpu_hwid=0x%08lX",
32 		(unsigned long long)__entry->timestamp,
33 		(unsigned long)__entry->cpu_hwid
34 	)
35 );
36 
37 #define __define_cpu_migrate_event(name)		\
38 	DEFINE_EVENT(cpu_migrate, cpu_migrate_##name,	\
39 		__cpu_migrate_proto,			\
40 		__cpu_migrate_args			\
41 	)
42 
43 __define_cpu_migrate_event(begin);
44 __define_cpu_migrate_event(finish);
45 __define_cpu_migrate_event(current);
46 
47 #undef __define_cpu_migrate
48 #undef __cpu_migrate_proto
49 #undef __cpu_migrate_args
50 
51 /* This file can get included multiple times, TRACE_HEADER_MULTI_READ at top */
52 #ifndef _PWR_CPU_MIGRATE_EVENT_AVOID_DOUBLE_DEFINING
53 #define _PWR_CPU_MIGRATE_EVENT_AVOID_DOUBLE_DEFINING
54 
55 /*
56  * Set from_phys_cpu and to_phys_cpu to CPU_MIGRATE_ALL_CPUS to indicate
57  * a whole-cluster migration:
58  */
59 #define CPU_MIGRATE_ALL_CPUS 0x80000000U
60 #endif
61 
62 #endif /* _TRACE_POWER_CPU_MIGRATE_H */
63 
64 /* This part must be outside protection */
65 #undef TRACE_INCLUDE_FILE
66 #define TRACE_INCLUDE_FILE power_cpu_migrate
67 #include <trace/define_trace.h>
68