File Index
Files and directories
Sign in
FILE

alarmtimer.h

File preview with syntax highlighting.

linux-6.19.14/include/trace/events/alarmtimer.h C
 1/* SPDX-License-Identifier: GPL-2.0 */
 2#undef TRACE_SYSTEM
 3#define TRACE_SYSTEM alarmtimer
 4
 5#if !defined(_TRACE_ALARMTIMER_H) || defined(TRACE_HEADER_MULTI_READ)
 6#define _TRACE_ALARMTIMER_H
 7
 8#include <linux/alarmtimer.h>
 9#include <linux/rtc.h>
10#include <linux/tracepoint.h>
11
12TRACE_DEFINE_ENUM(ALARM_REALTIME);
13TRACE_DEFINE_ENUM(ALARM_BOOTTIME);
14TRACE_DEFINE_ENUM(ALARM_REALTIME_FREEZER);
15TRACE_DEFINE_ENUM(ALARM_BOOTTIME_FREEZER);
16
17#define show_alarm_type(type)	__print_flags(type, " | ",	\
18	{ 1 << ALARM_REALTIME, "REALTIME" },			\
19	{ 1 << ALARM_BOOTTIME, "BOOTTIME" },			\
20	{ 1 << ALARM_REALTIME_FREEZER, "REALTIME Freezer" },	\
21	{ 1 << ALARM_BOOTTIME_FREEZER, "BOOTTIME Freezer" })
22
23#ifdef CONFIG_RTC_CLASS
24TRACE_EVENT(alarmtimer_suspend,
25
26	TP_PROTO(ktime_t expires, int flag),
27
28	TP_ARGS(expires, flag),
29
30	TP_STRUCT__entry(
31		__field(s64, expires)
32		__field(unsigned char, alarm_type)
33	),
34
35	TP_fast_assign(
36		__entry->expires = expires;
37		__entry->alarm_type = flag;
38	),
39
40	TP_printk("alarmtimer type:%s expires:%llu",
41		  show_alarm_type((1 << __entry->alarm_type)),
42		  __entry->expires
43	)
44);
45#endif /* CONFIG_RTC_CLASS */
46
47DECLARE_EVENT_CLASS(alarm_class,
48
49	TP_PROTO(struct alarm *alarm, ktime_t now),
50
51	TP_ARGS(alarm, now),
52
53	TP_STRUCT__entry(
54		__field(void *,	alarm)
55		__field(unsigned char, alarm_type)
56		__field(s64, expires)
57		__field(s64, now)
58	),
59
60	TP_fast_assign(
61		__entry->alarm = alarm;
62		__entry->alarm_type = alarm->type;
63		__entry->expires = alarm->node.expires;
64		__entry->now = now;
65	),
66
67	TP_printk("alarmtimer:%p type:%s expires:%llu now:%llu",
68		  __entry->alarm,
69		  show_alarm_type((1 << __entry->alarm_type)),
70		  __entry->expires,
71		  __entry->now
72	)
73);
74
75DEFINE_EVENT(alarm_class, alarmtimer_fired,
76
77	TP_PROTO(struct alarm *alarm, ktime_t now),
78
79	TP_ARGS(alarm, now)
80);
81
82DEFINE_EVENT(alarm_class, alarmtimer_start,
83
84	TP_PROTO(struct alarm *alarm, ktime_t now),
85
86	TP_ARGS(alarm, now)
87);
88
89DEFINE_EVENT(alarm_class, alarmtimer_cancel,
90
91	TP_PROTO(struct alarm *alarm, ktime_t now),
92
93	TP_ARGS(alarm, now)
94);
95
96#endif /* _TRACE_ALARMTIMER_H */
97
98/* This part must be outside protection */
99#include <trace/define_trace.h>
~/ Read-only file preview.