WIP FPC-III support
[linux/fpc-iii.git] / include / trace / events / alarmtimer.h
blob13483c7ca70b3ddb35f715de4cb2830bf5d8ae85
1 /* SPDX-License-Identifier: GPL-2.0 */
2 #undef TRACE_SYSTEM
3 #define TRACE_SYSTEM alarmtimer
5 #if !defined(_TRACE_ALARMTIMER_H) || defined(TRACE_HEADER_MULTI_READ)
6 #define _TRACE_ALARMTIMER_H
8 #include <linux/alarmtimer.h>
9 #include <linux/rtc.h>
10 #include <linux/tracepoint.h>
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);
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" })
23 TRACE_EVENT(alarmtimer_suspend,
25 TP_PROTO(ktime_t expires, int flag),
27 TP_ARGS(expires, flag),
29 TP_STRUCT__entry(
30 __field(s64, expires)
31 __field(unsigned char, alarm_type)
34 TP_fast_assign(
35 __entry->expires = expires;
36 __entry->alarm_type = flag;
39 TP_printk("alarmtimer type:%s expires:%llu",
40 show_alarm_type((1 << __entry->alarm_type)),
41 __entry->expires
45 DECLARE_EVENT_CLASS(alarm_class,
47 TP_PROTO(struct alarm *alarm, ktime_t now),
49 TP_ARGS(alarm, now),
51 TP_STRUCT__entry(
52 __field(void *, alarm)
53 __field(unsigned char, alarm_type)
54 __field(s64, expires)
55 __field(s64, now)
58 TP_fast_assign(
59 __entry->alarm = alarm;
60 __entry->alarm_type = alarm->type;
61 __entry->expires = alarm->node.expires;
62 __entry->now = now;
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
73 DEFINE_EVENT(alarm_class, alarmtimer_fired,
75 TP_PROTO(struct alarm *alarm, ktime_t now),
77 TP_ARGS(alarm, now)
80 DEFINE_EVENT(alarm_class, alarmtimer_start,
82 TP_PROTO(struct alarm *alarm, ktime_t now),
84 TP_ARGS(alarm, now)
87 DEFINE_EVENT(alarm_class, alarmtimer_cancel,
89 TP_PROTO(struct alarm *alarm, ktime_t now),
91 TP_ARGS(alarm, now)
94 #endif /* _TRACE_ALARMTIMER_H */
96 /* This part must be outside protection */
97 #include <trace/define_trace.h>