1
2
3
4
5 #undef TRACE_SYSTEM
6 #define TRACE_SYSTEM clk
7
8 #if !defined(_TRACE_CLK_H) || defined(TRACE_HEADER_MULTI_READ)
9 #define _TRACE_CLK_H
10
11 #include <linux/tracepoint.h>
12
13 struct clk_core;
14
15 DECLARE_EVENT_CLASS(clk,
16
17 TP_PROTO(struct clk_core *core),
18
19 TP_ARGS(core),
20
21 TP_STRUCT__entry(
22 __string( name, core->name )
23 ),
24
25 TP_fast_assign(
26 __assign_str(name, core->name);
27 ),
28
29 TP_printk("%s", __get_str(name))
30 );
31
32 DEFINE_EVENT(clk, clk_enable,
33
34 TP_PROTO(struct clk_core *core),
35
36 TP_ARGS(core)
37 );
38
39 DEFINE_EVENT(clk, clk_enable_complete,
40
41 TP_PROTO(struct clk_core *core),
42
43 TP_ARGS(core)
44 );
45
46 DEFINE_EVENT(clk, clk_disable,
47
48 TP_PROTO(struct clk_core *core),
49
50 TP_ARGS(core)
51 );
52
53 DEFINE_EVENT(clk, clk_disable_complete,
54
55 TP_PROTO(struct clk_core *core),
56
57 TP_ARGS(core)
58 );
59
60 DEFINE_EVENT(clk, clk_prepare,
61
62 TP_PROTO(struct clk_core *core),
63
64 TP_ARGS(core)
65 );
66
67 DEFINE_EVENT(clk, clk_prepare_complete,
68
69 TP_PROTO(struct clk_core *core),
70
71 TP_ARGS(core)
72 );
73
74 DEFINE_EVENT(clk, clk_unprepare,
75
76 TP_PROTO(struct clk_core *core),
77
78 TP_ARGS(core)
79 );
80
81 DEFINE_EVENT(clk, clk_unprepare_complete,
82
83 TP_PROTO(struct clk_core *core),
84
85 TP_ARGS(core)
86 );
87
88 DECLARE_EVENT_CLASS(clk_rate,
89
90 TP_PROTO(struct clk_core *core, unsigned long rate),
91
92 TP_ARGS(core, rate),
93
94 TP_STRUCT__entry(
95 __string( name, core->name )
96 __field(unsigned long, rate )
97 ),
98
99 TP_fast_assign(
100 __assign_str(name, core->name);
101 __entry->rate = rate;
102 ),
103
104 TP_printk("%s %lu", __get_str(name), (unsigned long)__entry->rate)
105 );
106
107 DEFINE_EVENT(clk_rate, clk_set_rate,
108
109 TP_PROTO(struct clk_core *core, unsigned long rate),
110
111 TP_ARGS(core, rate)
112 );
113
114 DEFINE_EVENT(clk_rate, clk_set_rate_complete,
115
116 TP_PROTO(struct clk_core *core, unsigned long rate),
117
118 TP_ARGS(core, rate)
119 );
120
121 DECLARE_EVENT_CLASS(clk_parent,
122
123 TP_PROTO(struct clk_core *core, struct clk_core *parent),
124
125 TP_ARGS(core, parent),
126
127 TP_STRUCT__entry(
128 __string( name, core->name )
129 __string( pname, parent ? parent->name : "none" )
130 ),
131
132 TP_fast_assign(
133 __assign_str(name, core->name);
134 __assign_str(pname, parent ? parent->name : "none");
135 ),
136
137 TP_printk("%s %s", __get_str(name), __get_str(pname))
138 );
139
140 DEFINE_EVENT(clk_parent, clk_set_parent,
141
142 TP_PROTO(struct clk_core *core, struct clk_core *parent),
143
144 TP_ARGS(core, parent)
145 );
146
147 DEFINE_EVENT(clk_parent, clk_set_parent_complete,
148
149 TP_PROTO(struct clk_core *core, struct clk_core *parent),
150
151 TP_ARGS(core, parent)
152 );
153
154 DECLARE_EVENT_CLASS(clk_phase,
155
156 TP_PROTO(struct clk_core *core, int phase),
157
158 TP_ARGS(core, phase),
159
160 TP_STRUCT__entry(
161 __string( name, core->name )
162 __field( int, phase )
163 ),
164
165 TP_fast_assign(
166 __assign_str(name, core->name);
167 __entry->phase = phase;
168 ),
169
170 TP_printk("%s %d", __get_str(name), (int)__entry->phase)
171 );
172
173 DEFINE_EVENT(clk_phase, clk_set_phase,
174
175 TP_PROTO(struct clk_core *core, int phase),
176
177 TP_ARGS(core, phase)
178 );
179
180 DEFINE_EVENT(clk_phase, clk_set_phase_complete,
181
182 TP_PROTO(struct clk_core *core, int phase),
183
184 TP_ARGS(core, phase)
185 );
186
187 DECLARE_EVENT_CLASS(clk_duty_cycle,
188
189 TP_PROTO(struct clk_core *core, struct clk_duty *duty),
190
191 TP_ARGS(core, duty),
192
193 TP_STRUCT__entry(
194 __string( name, core->name )
195 __field( unsigned int, num )
196 __field( unsigned int, den )
197 ),
198
199 TP_fast_assign(
200 __assign_str(name, core->name);
201 __entry->num = duty->num;
202 __entry->den = duty->den;
203 ),
204
205 TP_printk("%s %u/%u", __get_str(name), (unsigned int)__entry->num,
206 (unsigned int)__entry->den)
207 );
208
209 DEFINE_EVENT(clk_duty_cycle, clk_set_duty_cycle,
210
211 TP_PROTO(struct clk_core *core, struct clk_duty *duty),
212
213 TP_ARGS(core, duty)
214 );
215
216 DEFINE_EVENT(clk_duty_cycle, clk_set_duty_cycle_complete,
217
218 TP_PROTO(struct clk_core *core, struct clk_duty *duty),
219
220 TP_ARGS(core, duty)
221 );
222
223 #endif
224
225
226 #include <trace/define_trace.h>