linux/include/trace/events/rtc.h
<<
>>
Prefs
   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
  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->err
  28        )
  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->err
  77        )
  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->err
  99        )
 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->err
 121        )
 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->err
 142        )
 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->period
 179        )
 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