1 /* SPDX-License-Identifier: GPL-2.0-only */
3 * Copyright (c) 2014-2015, The Linux Foundation. All rights reserved.
6 #define TRACE_SYSTEM clk
8 #if !defined(_TRACE_CLK_H) || defined(TRACE_HEADER_MULTI_READ)
11 #include <linux/tracepoint.h>
15 DECLARE_EVENT_CLASS(clk
,
17 TP_PROTO(struct clk_core
*core
),
22 __string( name
, core
->name
)
26 __assign_str(name
, core
->name
);
29 TP_printk("%s", __get_str(name
))
32 DEFINE_EVENT(clk
, clk_enable
,
34 TP_PROTO(struct clk_core
*core
),
39 DEFINE_EVENT(clk
, clk_enable_complete
,
41 TP_PROTO(struct clk_core
*core
),
46 DEFINE_EVENT(clk
, clk_disable
,
48 TP_PROTO(struct clk_core
*core
),
53 DEFINE_EVENT(clk
, clk_disable_complete
,
55 TP_PROTO(struct clk_core
*core
),
60 DEFINE_EVENT(clk
, clk_prepare
,
62 TP_PROTO(struct clk_core
*core
),
67 DEFINE_EVENT(clk
, clk_prepare_complete
,
69 TP_PROTO(struct clk_core
*core
),
74 DEFINE_EVENT(clk
, clk_unprepare
,
76 TP_PROTO(struct clk_core
*core
),
81 DEFINE_EVENT(clk
, clk_unprepare_complete
,
83 TP_PROTO(struct clk_core
*core
),
88 DECLARE_EVENT_CLASS(clk_rate
,
90 TP_PROTO(struct clk_core
*core
, unsigned long rate
),
95 __string( name
, core
->name
)
96 __field(unsigned long, rate
)
100 __assign_str(name
, core
->name
);
101 __entry
->rate
= rate
;
104 TP_printk("%s %lu", __get_str(name
), (unsigned long)__entry
->rate
)
107 DEFINE_EVENT(clk_rate
, clk_set_rate
,
109 TP_PROTO(struct clk_core
*core
, unsigned long rate
),
114 DEFINE_EVENT(clk_rate
, clk_set_rate_complete
,
116 TP_PROTO(struct clk_core
*core
, unsigned long rate
),
121 DECLARE_EVENT_CLASS(clk_parent
,
123 TP_PROTO(struct clk_core
*core
, struct clk_core
*parent
),
125 TP_ARGS(core
, parent
),
128 __string( name
, core
->name
)
129 __string( pname
, parent
? parent
->name
: "none" )
133 __assign_str(name
, core
->name
);
134 __assign_str(pname
, parent
? parent
->name
: "none");
137 TP_printk("%s %s", __get_str(name
), __get_str(pname
))
140 DEFINE_EVENT(clk_parent
, clk_set_parent
,
142 TP_PROTO(struct clk_core
*core
, struct clk_core
*parent
),
144 TP_ARGS(core
, parent
)
147 DEFINE_EVENT(clk_parent
, clk_set_parent_complete
,
149 TP_PROTO(struct clk_core
*core
, struct clk_core
*parent
),
151 TP_ARGS(core
, parent
)
154 DECLARE_EVENT_CLASS(clk_phase
,
156 TP_PROTO(struct clk_core
*core
, int phase
),
158 TP_ARGS(core
, phase
),
161 __string( name
, core
->name
)
162 __field( int, phase
)
166 __assign_str(name
, core
->name
);
167 __entry
->phase
= phase
;
170 TP_printk("%s %d", __get_str(name
), (int)__entry
->phase
)
173 DEFINE_EVENT(clk_phase
, clk_set_phase
,
175 TP_PROTO(struct clk_core
*core
, int phase
),
180 DEFINE_EVENT(clk_phase
, clk_set_phase_complete
,
182 TP_PROTO(struct clk_core
*core
, int phase
),
187 DECLARE_EVENT_CLASS(clk_duty_cycle
,
189 TP_PROTO(struct clk_core
*core
, struct clk_duty
*duty
),
194 __string( name
, core
->name
)
195 __field( unsigned int, num
)
196 __field( unsigned int, den
)
200 __assign_str(name
, core
->name
);
201 __entry
->num
= duty
->num
;
202 __entry
->den
= duty
->den
;
205 TP_printk("%s %u/%u", __get_str(name
), (unsigned int)__entry
->num
,
206 (unsigned int)__entry
->den
)
209 DEFINE_EVENT(clk_duty_cycle
, clk_set_duty_cycle
,
211 TP_PROTO(struct clk_core
*core
, struct clk_duty
*duty
),
216 DEFINE_EVENT(clk_duty_cycle
, clk_set_duty_cycle_complete
,
218 TP_PROTO(struct clk_core
*core
, struct clk_duty
*duty
),
223 #endif /* _TRACE_CLK_H */
225 /* This part must be outside protection */
226 #include <trace/define_trace.h>