1 // SPDX-FileCopyrightText: 2012 Andrew Gabbasov <andrew_gabbasov@mentor.com>
3 // SPDX-License-Identifier: GPL-2.0-only
6 #define TRACE_SYSTEM rpm
8 #if !defined(LTTNG_TRACE_RUNTIME_POWER_H) || defined(TRACE_HEADER_MULTI_READ)
9 #define LTTNG_TRACE_RUNTIME_POWER_H
11 #include <lttng/tracepoint-event.h>
12 #include <linux/ktime.h>
14 #ifndef _TRACE_RPM_DEF_
15 #define _TRACE_RPM_DEF_
20 * The rpm_internal events are used for tracing some important
21 * runtime pm internal functions.
23 LTTNG_TRACEPOINT_EVENT_CLASS(rpm_internal
,
25 TP_PROTO(struct device
*dev
, int flags
),
30 ctf_string(name
, dev_name(dev
))
31 ctf_integer(int, flags
, flags
)
32 ctf_integer(int, usage_count
, atomic_read(&dev
->power
.usage_count
))
33 ctf_integer(int, disable_depth
, dev
->power
.disable_depth
)
34 ctf_integer(int, runtime_auto
, dev
->power
.runtime_auto
)
35 ctf_integer(int, request_pending
, dev
->power
.request_pending
)
36 ctf_integer(int, irq_safe
, dev
->power
.irq_safe
)
37 ctf_integer(int, child_count
, atomic_read(&dev
->power
.child_count
))
41 LTTNG_TRACEPOINT_EVENT_INSTANCE(rpm_internal
, rpm_suspend
,
43 TP_PROTO(struct device
*dev
, int flags
),
48 LTTNG_TRACEPOINT_EVENT_INSTANCE(rpm_internal
, rpm_resume
,
50 TP_PROTO(struct device
*dev
, int flags
),
55 LTTNG_TRACEPOINT_EVENT_INSTANCE(rpm_internal
, rpm_idle
,
57 TP_PROTO(struct device
*dev
, int flags
),
62 LTTNG_TRACEPOINT_EVENT(rpm_return_int
,
63 TP_PROTO(struct device
*dev
, unsigned long ip
, int ret
),
64 TP_ARGS(dev
, ip
, ret
),
67 ctf_string(name
, dev_name(dev
))
68 ctf_integer_hex(unsigned long, ip
, ip
)
69 ctf_integer(int, ret
, ret
)
73 #endif /* LTTNG_TRACE_RUNTIME_POWER_H */
75 /* This part must be outside protection */
76 #include <lttng/define_trace.h>
This page took 0.031668 seconds and 5 git commands to generate.