blob: 35a2a6e7bf1e74992b8b83b242c4a507fed4246f [file] [log] [blame]
Arjan van de Ven61613522009-09-17 16:11:28 +02001#undef TRACE_SYSTEM
2#define TRACE_SYSTEM power
3
4#if !defined(_TRACE_POWER_H) || defined(TRACE_HEADER_MULTI_READ)
5#define _TRACE_POWER_H
6
7#include <linux/ktime.h>
8#include <linux/tracepoint.h>
9
10#ifndef _TRACE_POWER_ENUM_
11#define _TRACE_POWER_ENUM_
12enum {
13 POWER_NONE = 0,
14 POWER_CSTATE = 1,
15 POWER_PSTATE = 2,
16};
17#endif
18
Li Zefan77034662009-11-26 15:05:38 +080019DECLARE_EVENT_CLASS(power,
Arjan van de Ven61613522009-09-17 16:11:28 +020020
Thomas Renninger4c21adf2010-07-20 16:59:34 -070021 TP_PROTO(unsigned int type, unsigned int state, unsigned int cpu_id),
Arjan van de Ven61613522009-09-17 16:11:28 +020022
Thomas Renninger4c21adf2010-07-20 16:59:34 -070023 TP_ARGS(type, state, cpu_id),
Arjan van de Ven61613522009-09-17 16:11:28 +020024
25 TP_STRUCT__entry(
26 __field( u64, type )
27 __field( u64, state )
Thomas Renninger4c21adf2010-07-20 16:59:34 -070028 __field( u64, cpu_id )
Arjan van de Ven61613522009-09-17 16:11:28 +020029 ),
30
31 TP_fast_assign(
32 __entry->type = type;
33 __entry->state = state;
Thomas Renninger4c21adf2010-07-20 16:59:34 -070034 __entry->cpu_id = cpu_id;
Arjan van de Ven61613522009-09-17 16:11:28 +020035 ),
36
Thomas Renninger4c21adf2010-07-20 16:59:34 -070037 TP_printk("type=%lu state=%lu cpu_id=%lu", (unsigned long)__entry->type,
38 (unsigned long)__entry->state, (unsigned long)__entry->cpu_id)
Arjan van de Ven61613522009-09-17 16:11:28 +020039);
40
Li Zefan77034662009-11-26 15:05:38 +080041DEFINE_EVENT(power, power_start,
42
Thomas Renninger4c21adf2010-07-20 16:59:34 -070043 TP_PROTO(unsigned int type, unsigned int state, unsigned int cpu_id),
Li Zefan77034662009-11-26 15:05:38 +080044
Thomas Renninger4c21adf2010-07-20 16:59:34 -070045 TP_ARGS(type, state, cpu_id)
Li Zefan77034662009-11-26 15:05:38 +080046);
47
48DEFINE_EVENT(power, power_frequency,
49
Thomas Renninger4c21adf2010-07-20 16:59:34 -070050 TP_PROTO(unsigned int type, unsigned int state, unsigned int cpu_id),
Li Zefan77034662009-11-26 15:05:38 +080051
Thomas Renninger4c21adf2010-07-20 16:59:34 -070052 TP_ARGS(type, state, cpu_id)
Li Zefan77034662009-11-26 15:05:38 +080053);
54
Arjan van de Ven61613522009-09-17 16:11:28 +020055TRACE_EVENT(power_end,
56
Thomas Renninger4c21adf2010-07-20 16:59:34 -070057 TP_PROTO(unsigned int cpu_id),
Arjan van de Ven61613522009-09-17 16:11:28 +020058
Thomas Renninger4c21adf2010-07-20 16:59:34 -070059 TP_ARGS(cpu_id),
Arjan van de Ven61613522009-09-17 16:11:28 +020060
61 TP_STRUCT__entry(
Thomas Renninger4c21adf2010-07-20 16:59:34 -070062 __field( u64, cpu_id )
Arjan van de Ven61613522009-09-17 16:11:28 +020063 ),
64
65 TP_fast_assign(
Thomas Renninger4c21adf2010-07-20 16:59:34 -070066 __entry->cpu_id = cpu_id;
Arjan van de Ven61613522009-09-17 16:11:28 +020067 ),
68
Thomas Renninger4c21adf2010-07-20 16:59:34 -070069 TP_printk("cpu_id=%lu", (unsigned long)__entry->cpu_id)
Arjan van de Ven61613522009-09-17 16:11:28 +020070
71);
72
Arjan van de Ven61613522009-09-17 16:11:28 +020073#endif /* _TRACE_POWER_H */
74
75/* This part must be outside protection */
76#include <trace/define_trace.h>