Branch data Line data Source code
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 : :
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 [ # # # # : 404 : 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(
35 : : __entry->expires = expires;
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 [ # # # # : 404 : 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;
61 : : __entry->expires = alarm->node.expires;
62 : : __entry->now = now;
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 [ # # # # : 0 : 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 [ # # # # : 0 : 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 [ # # # # : 0 : 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>
|