Branch data Line data Source code
1 : : #undef TRACE_SYSTEM
2 : : #define TRACE_SYSTEM rtc
3 : :
4 : : #if !defined(_TRACE_RTC_H) || defined(TRACE_HEADER_MULTI_READ)
5 : : #define _TRACE_RTC_H
6 : :
7 : : #include <linux/rtc.h>
8 : : #include <linux/tracepoint.h>
9 : :
10 : 3 : DECLARE_EVENT_CLASS(rtc_time_alarm_class,
11 : :
12 : : TP_PROTO(time64_t secs, int err),
13 : :
14 : : TP_ARGS(secs, err),
15 : :
16 : : TP_STRUCT__entry(
17 : : __field(time64_t, secs)
18 : : __field(int, err)
19 : : ),
20 : :
21 : : TP_fast_assign(
22 : : __entry->secs = secs;
23 : : __entry->err = err;
24 : : ),
25 : :
26 : : TP_printk("UTC (%lld) (%d)",
27 : : __entry->secs, __entry->err
28 : : )
29 : : );
30 : :
31 : 0 : DEFINE_EVENT(rtc_time_alarm_class, rtc_set_time,
32 : :
33 : : TP_PROTO(time64_t secs, int err),
34 : :
35 : : TP_ARGS(secs, err)
36 : : );
37 : :
38 : 0 : DEFINE_EVENT(rtc_time_alarm_class, rtc_read_time,
39 : :
40 : : TP_PROTO(time64_t secs, int err),
41 : :
42 : : TP_ARGS(secs, err)
43 : : );
44 : :
45 : 0 : DEFINE_EVENT(rtc_time_alarm_class, rtc_set_alarm,
46 : :
47 : : TP_PROTO(time64_t secs, int err),
48 : :
49 : : TP_ARGS(secs, err)
50 : : );
51 : :
52 : 0 : DEFINE_EVENT(rtc_time_alarm_class, rtc_read_alarm,
53 : :
54 : : TP_PROTO(time64_t secs, int err),
55 : :
56 : : TP_ARGS(secs, err)
57 : : );
58 : :
59 : 3 : TRACE_EVENT(rtc_irq_set_freq,
60 : :
61 : : TP_PROTO(int freq, int err),
62 : :
63 : : TP_ARGS(freq, err),
64 : :
65 : : TP_STRUCT__entry(
66 : : __field(int, freq)
67 : : __field(int, err)
68 : : ),
69 : :
70 : : TP_fast_assign(
71 : : __entry->freq = freq;
72 : : __entry->err = err;
73 : : ),
74 : :
75 : : TP_printk("set RTC periodic IRQ frequency:%u (%d)",
76 : : __entry->freq, __entry->err
77 : : )
78 : : );
79 : :
80 : 3 : TRACE_EVENT(rtc_irq_set_state,
81 : :
82 : : TP_PROTO(int enabled, int err),
83 : :
84 : : TP_ARGS(enabled, err),
85 : :
86 : : TP_STRUCT__entry(
87 : : __field(int, enabled)
88 : : __field(int, err)
89 : : ),
90 : :
91 : : TP_fast_assign(
92 : : __entry->enabled = enabled;
93 : : __entry->err = err;
94 : : ),
95 : :
96 : : TP_printk("%s RTC 2^N Hz periodic IRQs (%d)",
97 : : __entry->enabled ? "enable" : "disable",
98 : : __entry->err
99 : : )
100 : : );
101 : :
102 : 3 : TRACE_EVENT(rtc_alarm_irq_enable,
103 : :
104 : : TP_PROTO(unsigned int enabled, int err),
105 : :
106 : : TP_ARGS(enabled, err),
107 : :
108 : : TP_STRUCT__entry(
109 : : __field(unsigned int, enabled)
110 : : __field(int, err)
111 : : ),
112 : :
113 : : TP_fast_assign(
114 : : __entry->enabled = enabled;
115 : : __entry->err = err;
116 : : ),
117 : :
118 : : TP_printk("%s RTC alarm IRQ (%d)",
119 : : __entry->enabled ? "enable" : "disable",
120 : : __entry->err
121 : : )
122 : : );
123 : :
124 : 3 : DECLARE_EVENT_CLASS(rtc_offset_class,
125 : :
126 : : TP_PROTO(long offset, int err),
127 : :
128 : : TP_ARGS(offset, err),
129 : :
130 : : TP_STRUCT__entry(
131 : : __field(long, offset)
132 : : __field(int, err)
133 : : ),
134 : :
135 : : TP_fast_assign(
136 : : __entry->offset = offset;
137 : : __entry->err = err;
138 : : ),
139 : :
140 : : TP_printk("RTC offset: %ld (%d)",
141 : : __entry->offset, __entry->err
142 : : )
143 : : );
144 : :
145 : 0 : DEFINE_EVENT(rtc_offset_class, rtc_set_offset,
146 : :
147 : : TP_PROTO(long offset, int err),
148 : :
149 : : TP_ARGS(offset, err)
150 : : );
151 : :
152 : 0 : DEFINE_EVENT(rtc_offset_class, rtc_read_offset,
153 : :
154 : : TP_PROTO(long offset, int err),
155 : :
156 : : TP_ARGS(offset, err)
157 : : );
158 : :
159 : 3 : DECLARE_EVENT_CLASS(rtc_timer_class,
160 : :
161 : : TP_PROTO(struct rtc_timer *timer),
162 : :
163 : : TP_ARGS(timer),
164 : :
165 : : TP_STRUCT__entry(
166 : : __field(struct rtc_timer *, timer)
167 : : __field(ktime_t, expires)
168 : : __field(ktime_t, period)
169 : : ),
170 : :
171 : : TP_fast_assign(
172 : : __entry->timer = timer;
173 : : __entry->expires = timer->node.expires;
174 : : __entry->period = timer->period;
175 : : ),
176 : :
177 : : TP_printk("RTC timer:(%p) expires:%lld period:%lld",
178 : : __entry->timer, __entry->expires, __entry->period
179 : : )
180 : : );
181 : :
182 : 0 : DEFINE_EVENT(rtc_timer_class, rtc_timer_enqueue,
183 : :
184 : : TP_PROTO(struct rtc_timer *timer),
185 : :
186 : : TP_ARGS(timer)
187 : : );
188 : :
189 : 0 : DEFINE_EVENT(rtc_timer_class, rtc_timer_dequeue,
190 : :
191 : : TP_PROTO(struct rtc_timer *timer),
192 : :
193 : : TP_ARGS(timer)
194 : : );
195 : :
196 : 0 : DEFINE_EVENT(rtc_timer_class, rtc_timer_fired,
197 : :
198 : : TP_PROTO(struct rtc_timer *timer),
199 : :
200 : : TP_ARGS(timer)
201 : : );
202 : :
203 : : #endif /* _TRACE_RTC_H */
204 : :
205 : : /* This part must be outside protection */
206 : : #include <trace/define_trace.h>
|