brintos

brintos / linux-shallow public Read only

0
0
Text · 3.3 KiB · 621333f Raw
207 lines · c
1#undef TRACE_SYSTEM2#define TRACE_SYSTEM rtc3 4#if !defined(_TRACE_RTC_H) || defined(TRACE_HEADER_MULTI_READ)5#define _TRACE_RTC_H6 7#include <linux/rtc.h>8#include <linux/tracepoint.h>9 10DECLARE_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->err28	)29);30 31DEFINE_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 38DEFINE_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 45DEFINE_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 52DEFINE_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 59TRACE_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->err77	)78);79 80TRACE_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->err99	)100);101 102TRACE_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->err121	)122);123 124DECLARE_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->err142	)143);144 145DEFINE_EVENT(rtc_offset_class, rtc_set_offset,146 147	TP_PROTO(long offset, int err),148 149	TP_ARGS(offset, err)150);151 152DEFINE_EVENT(rtc_offset_class, rtc_read_offset,153 154	TP_PROTO(long offset, int err),155 156	TP_ARGS(offset, err)157);158 159DECLARE_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->period179	)180);181 182DEFINE_EVENT(rtc_timer_class, rtc_timer_enqueue,183 184	TP_PROTO(struct rtc_timer *timer),185 186	TP_ARGS(timer)187);188 189DEFINE_EVENT(rtc_timer_class, rtc_timer_dequeue,190 191	TP_PROTO(struct rtc_timer *timer),192 193	TP_ARGS(timer)194);195 196DEFINE_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>207