1 /* SPDX-License-Identifier: GPL-2.0 */
3 #define TRACE_SYSTEM rpm
5 #if !defined(LTTNG_TRACE_RUNTIME_POWER_H) || defined(TRACE_HEADER_MULTI_READ)
6 #define LTTNG_TRACE_RUNTIME_POWER_H
8 #include <probes/lttng-tracepoint-event.h>
9 #include <linux/ktime.h>
11 #ifndef _TRACE_RPM_DEF_
12 #define _TRACE_RPM_DEF_
17 * The rpm_internal events are used for tracing some important
18 * runtime pm internal functions.
20 LTTNG_TRACEPOINT_EVENT_CLASS(rpm_internal
,
22 TP_PROTO(struct device
*dev
, int flags
),
27 ctf_string(name
, dev_name(dev
))
28 ctf_integer(int, flags
, flags
)
29 ctf_integer(int, usage_count
, atomic_read(&dev
->power
.usage_count
))
30 ctf_integer(int, disable_depth
, dev
->power
.disable_depth
)
31 ctf_integer(int, runtime_auto
, dev
->power
.runtime_auto
)
32 ctf_integer(int, request_pending
, dev
->power
.request_pending
)
33 ctf_integer(int, irq_safe
, dev
->power
.irq_safe
)
34 ctf_integer(int, child_count
, atomic_read(&dev
->power
.child_count
))
38 LTTNG_TRACEPOINT_EVENT_INSTANCE(rpm_internal
, rpm_suspend
,
40 TP_PROTO(struct device
*dev
, int flags
),
45 LTTNG_TRACEPOINT_EVENT_INSTANCE(rpm_internal
, rpm_resume
,
47 TP_PROTO(struct device
*dev
, int flags
),
52 LTTNG_TRACEPOINT_EVENT_INSTANCE(rpm_internal
, rpm_idle
,
54 TP_PROTO(struct device
*dev
, int flags
),
59 LTTNG_TRACEPOINT_EVENT(rpm_return_int
,
60 TP_PROTO(struct device
*dev
, unsigned long ip
, int ret
),
61 TP_ARGS(dev
, ip
, ret
),
64 ctf_string(name
, dev_name(dev
))
65 ctf_integer(unsigned long, ip
, ip
)
66 ctf_integer(int, ret
, ret
)
70 #endif /* LTTNG_TRACE_RUNTIME_POWER_H */
72 /* This part must be outside protection */
73 #include <probes/define_trace.h>
This page took 0.031973 seconds and 4 git commands to generate.