]>
Commit | Line | Data |
---|---|---|
b2441318 | 1 | /* SPDX-License-Identifier: GPL-2.0 */ |
4a057549 BW |
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 | ||
12 | TRACE_DEFINE_ENUM(ALARM_REALTIME); | |
13 | TRACE_DEFINE_ENUM(ALARM_BOOTTIME); | |
14 | TRACE_DEFINE_ENUM(ALARM_REALTIME_FREEZER); | |
15 | TRACE_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 | TRACE_EVENT(alarmtimer_suspend, | |
24 | ||
25 | TP_PROTO(ktime_t expires, int flag), | |
26 | ||
27 | TP_ARGS(expires, flag), | |
28 | ||
29 | TP_STRUCT__entry( | |
30 | __field(s64, expires) | |
31 | __field(unsigned char, alarm_type) | |
32 | ), | |
33 | ||
34 | TP_fast_assign( | |
2456e855 | 35 | __entry->expires = expires; |
4a057549 BW |
36 | __entry->alarm_type = flag; |
37 | ), | |
38 | ||
39 | TP_printk("alarmtimer type:%s expires:%llu", | |
40 | show_alarm_type((1 << __entry->alarm_type)), | |
41 | __entry->expires | |
42 | ) | |
43 | ); | |
44 | ||
45 | DECLARE_EVENT_CLASS(alarm_class, | |
46 | ||
47 | TP_PROTO(struct alarm *alarm, ktime_t now), | |
48 | ||
49 | TP_ARGS(alarm, now), | |
50 | ||
51 | TP_STRUCT__entry( | |
52 | __field(void *, alarm) | |
53 | __field(unsigned char, alarm_type) | |
54 | __field(s64, expires) | |
55 | __field(s64, now) | |
56 | ), | |
57 | ||
58 | TP_fast_assign( | |
59 | __entry->alarm = alarm; | |
60 | __entry->alarm_type = alarm->type; | |
2456e855 TG |
61 | __entry->expires = alarm->node.expires; |
62 | __entry->now = now; | |
4a057549 BW |
63 | ), |
64 | ||
65 | TP_printk("alarmtimer:%p type:%s expires:%llu now:%llu", | |
66 | __entry->alarm, | |
67 | show_alarm_type((1 << __entry->alarm_type)), | |
68 | __entry->expires, | |
69 | __entry->now | |
70 | ) | |
71 | ); | |
72 | ||
73 | DEFINE_EVENT(alarm_class, alarmtimer_fired, | |
74 | ||
75 | TP_PROTO(struct alarm *alarm, ktime_t now), | |
76 | ||
77 | TP_ARGS(alarm, now) | |
78 | ); | |
79 | ||
80 | DEFINE_EVENT(alarm_class, alarmtimer_start, | |
81 | ||
82 | TP_PROTO(struct alarm *alarm, ktime_t now), | |
83 | ||
84 | TP_ARGS(alarm, now) | |
85 | ); | |
86 | ||
87 | DEFINE_EVENT(alarm_class, alarmtimer_cancel, | |
88 | ||
89 | TP_PROTO(struct alarm *alarm, ktime_t now), | |
90 | ||
91 | TP_ARGS(alarm, now) | |
92 | ); | |
93 | ||
94 | #endif /* _TRACE_ALARMTIMER_H */ | |
95 | ||
96 | /* This part must be outside protection */ | |
97 | #include <trace/define_trace.h> |