]>
Commit | Line | Data |
---|---|---|
9c92ab61 | 1 | /* SPDX-License-Identifier: GPL-2.0-only */ |
dfc202ea SB |
2 | /* |
3 | * Copyright (c) 2014-2015, The Linux Foundation. All rights reserved. | |
dfc202ea SB |
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 | ||
03813d9b MR |
121 | DEFINE_EVENT(clk_rate, clk_set_min_rate, |
122 | ||
123 | TP_PROTO(struct clk_core *core, unsigned long rate), | |
124 | ||
125 | TP_ARGS(core, rate) | |
126 | ); | |
127 | ||
128 | DEFINE_EVENT(clk_rate, clk_set_max_rate, | |
129 | ||
130 | TP_PROTO(struct clk_core *core, unsigned long rate), | |
131 | ||
132 | TP_ARGS(core, rate) | |
133 | ); | |
134 | ||
135 | DECLARE_EVENT_CLASS(clk_rate_range, | |
136 | ||
137 | TP_PROTO(struct clk_core *core, unsigned long min, unsigned long max), | |
138 | ||
139 | TP_ARGS(core, min, max), | |
140 | ||
141 | TP_STRUCT__entry( | |
142 | __string( name, core->name ) | |
143 | __field(unsigned long, min ) | |
144 | __field(unsigned long, max ) | |
145 | ), | |
146 | ||
147 | TP_fast_assign( | |
148 | __assign_str(name, core->name); | |
149 | __entry->min = min; | |
150 | __entry->max = max; | |
151 | ), | |
152 | ||
153 | TP_printk("%s min %lu max %lu", __get_str(name), | |
154 | (unsigned long)__entry->min, | |
155 | (unsigned long)__entry->max) | |
156 | ); | |
157 | ||
158 | DEFINE_EVENT(clk_rate_range, clk_set_rate_range, | |
159 | ||
160 | TP_PROTO(struct clk_core *core, unsigned long min, unsigned long max), | |
161 | ||
162 | TP_ARGS(core, min, max) | |
163 | ); | |
164 | ||
dfc202ea SB |
165 | DECLARE_EVENT_CLASS(clk_parent, |
166 | ||
167 | TP_PROTO(struct clk_core *core, struct clk_core *parent), | |
168 | ||
169 | TP_ARGS(core, parent), | |
170 | ||
171 | TP_STRUCT__entry( | |
172 | __string( name, core->name ) | |
975b820b | 173 | __string( pname, parent ? parent->name : "none" ) |
dfc202ea SB |
174 | ), |
175 | ||
176 | TP_fast_assign( | |
177 | __assign_str(name, core->name); | |
975b820b | 178 | __assign_str(pname, parent ? parent->name : "none"); |
dfc202ea SB |
179 | ), |
180 | ||
181 | TP_printk("%s %s", __get_str(name), __get_str(pname)) | |
182 | ); | |
183 | ||
184 | DEFINE_EVENT(clk_parent, clk_set_parent, | |
185 | ||
186 | TP_PROTO(struct clk_core *core, struct clk_core *parent), | |
187 | ||
188 | TP_ARGS(core, parent) | |
189 | ); | |
190 | ||
191 | DEFINE_EVENT(clk_parent, clk_set_parent_complete, | |
192 | ||
193 | TP_PROTO(struct clk_core *core, struct clk_core *parent), | |
194 | ||
195 | TP_ARGS(core, parent) | |
196 | ); | |
197 | ||
198 | DECLARE_EVENT_CLASS(clk_phase, | |
199 | ||
200 | TP_PROTO(struct clk_core *core, int phase), | |
201 | ||
202 | TP_ARGS(core, phase), | |
203 | ||
204 | TP_STRUCT__entry( | |
205 | __string( name, core->name ) | |
206 | __field( int, phase ) | |
207 | ), | |
208 | ||
209 | TP_fast_assign( | |
210 | __assign_str(name, core->name); | |
211 | __entry->phase = phase; | |
212 | ), | |
213 | ||
214 | TP_printk("%s %d", __get_str(name), (int)__entry->phase) | |
215 | ); | |
216 | ||
217 | DEFINE_EVENT(clk_phase, clk_set_phase, | |
218 | ||
219 | TP_PROTO(struct clk_core *core, int phase), | |
220 | ||
221 | TP_ARGS(core, phase) | |
222 | ); | |
223 | ||
224 | DEFINE_EVENT(clk_phase, clk_set_phase_complete, | |
225 | ||
226 | TP_PROTO(struct clk_core *core, int phase), | |
227 | ||
228 | TP_ARGS(core, phase) | |
229 | ); | |
230 | ||
9fba738a JB |
231 | DECLARE_EVENT_CLASS(clk_duty_cycle, |
232 | ||
233 | TP_PROTO(struct clk_core *core, struct clk_duty *duty), | |
234 | ||
235 | TP_ARGS(core, duty), | |
236 | ||
237 | TP_STRUCT__entry( | |
238 | __string( name, core->name ) | |
239 | __field( unsigned int, num ) | |
240 | __field( unsigned int, den ) | |
241 | ), | |
242 | ||
243 | TP_fast_assign( | |
244 | __assign_str(name, core->name); | |
245 | __entry->num = duty->num; | |
246 | __entry->den = duty->den; | |
247 | ), | |
248 | ||
249 | TP_printk("%s %u/%u", __get_str(name), (unsigned int)__entry->num, | |
250 | (unsigned int)__entry->den) | |
251 | ); | |
252 | ||
253 | DEFINE_EVENT(clk_duty_cycle, clk_set_duty_cycle, | |
254 | ||
255 | TP_PROTO(struct clk_core *core, struct clk_duty *duty), | |
256 | ||
257 | TP_ARGS(core, duty) | |
258 | ); | |
259 | ||
260 | DEFINE_EVENT(clk_duty_cycle, clk_set_duty_cycle_complete, | |
261 | ||
262 | TP_PROTO(struct clk_core *core, struct clk_duty *duty), | |
263 | ||
264 | TP_ARGS(core, duty) | |
265 | ); | |
266 | ||
dfc202ea SB |
267 | #endif /* _TRACE_CLK_H */ |
268 | ||
269 | /* This part must be outside protection */ | |
270 | #include <trace/define_trace.h> |