Linux Audio

Check our new training course

Loading...
Note: File does not exist in v3.1.
  1/* SPDX-License-Identifier: GPL-2.0-only */
  2/*
  3 * Copyright (c) 2014-2015, The Linux Foundation. All rights reserved.
  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
 13struct clk_core;
 14
 15DECLARE_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
 32DEFINE_EVENT(clk, clk_enable,
 33
 34	TP_PROTO(struct clk_core *core),
 35
 36	TP_ARGS(core)
 37);
 38
 39DEFINE_EVENT(clk, clk_enable_complete,
 40
 41	TP_PROTO(struct clk_core *core),
 42
 43	TP_ARGS(core)
 44);
 45
 46DEFINE_EVENT(clk, clk_disable,
 47
 48	TP_PROTO(struct clk_core *core),
 49
 50	TP_ARGS(core)
 51);
 52
 53DEFINE_EVENT(clk, clk_disable_complete,
 54
 55	TP_PROTO(struct clk_core *core),
 56
 57	TP_ARGS(core)
 58);
 59
 60DEFINE_EVENT(clk, clk_prepare,
 61
 62	TP_PROTO(struct clk_core *core),
 63
 64	TP_ARGS(core)
 65);
 66
 67DEFINE_EVENT(clk, clk_prepare_complete,
 68
 69	TP_PROTO(struct clk_core *core),
 70
 71	TP_ARGS(core)
 72);
 73
 74DEFINE_EVENT(clk, clk_unprepare,
 75
 76	TP_PROTO(struct clk_core *core),
 77
 78	TP_ARGS(core)
 79);
 80
 81DEFINE_EVENT(clk, clk_unprepare_complete,
 82
 83	TP_PROTO(struct clk_core *core),
 84
 85	TP_ARGS(core)
 86);
 87
 88DECLARE_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
107DEFINE_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
114DEFINE_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
121DECLARE_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
140DEFINE_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
147DEFINE_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
154DECLARE_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
173DEFINE_EVENT(clk_phase, clk_set_phase,
174
175	TP_PROTO(struct clk_core *core, int phase),
176
177	TP_ARGS(core, phase)
178);
179
180DEFINE_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
187DECLARE_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
209DEFINE_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
216DEFINE_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 /* _TRACE_CLK_H */
224
225/* This part must be outside protection */
226#include <trace/define_trace.h>