Back to home page

OSCL-LXR

 
 

    


0001 #undef TRACE_SYSTEM
0002 #define TRACE_SYSTEM rtc
0003 
0004 #if !defined(_TRACE_RTC_H) || defined(TRACE_HEADER_MULTI_READ)
0005 #define _TRACE_RTC_H
0006 
0007 #include <linux/rtc.h>
0008 #include <linux/tracepoint.h>
0009 
0010 DECLARE_EVENT_CLASS(rtc_time_alarm_class,
0011 
0012     TP_PROTO(time64_t secs, int err),
0013 
0014     TP_ARGS(secs, err),
0015 
0016     TP_STRUCT__entry(
0017         __field(time64_t, secs)
0018         __field(int, err)
0019     ),
0020 
0021     TP_fast_assign(
0022         __entry->secs = secs;
0023         __entry->err = err;
0024     ),
0025 
0026     TP_printk("UTC (%lld) (%d)",
0027           __entry->secs, __entry->err
0028     )
0029 );
0030 
0031 DEFINE_EVENT(rtc_time_alarm_class, rtc_set_time,
0032 
0033     TP_PROTO(time64_t secs, int err),
0034 
0035     TP_ARGS(secs, err)
0036 );
0037 
0038 DEFINE_EVENT(rtc_time_alarm_class, rtc_read_time,
0039 
0040     TP_PROTO(time64_t secs, int err),
0041 
0042     TP_ARGS(secs, err)
0043 );
0044 
0045 DEFINE_EVENT(rtc_time_alarm_class, rtc_set_alarm,
0046 
0047     TP_PROTO(time64_t secs, int err),
0048 
0049     TP_ARGS(secs, err)
0050 );
0051 
0052 DEFINE_EVENT(rtc_time_alarm_class, rtc_read_alarm,
0053 
0054     TP_PROTO(time64_t secs, int err),
0055 
0056     TP_ARGS(secs, err)
0057 );
0058 
0059 TRACE_EVENT(rtc_irq_set_freq,
0060 
0061     TP_PROTO(int freq, int err),
0062 
0063     TP_ARGS(freq, err),
0064 
0065     TP_STRUCT__entry(
0066         __field(int, freq)
0067         __field(int, err)
0068     ),
0069 
0070     TP_fast_assign(
0071         __entry->freq = freq;
0072         __entry->err = err;
0073     ),
0074 
0075     TP_printk("set RTC periodic IRQ frequency:%u (%d)",
0076           __entry->freq, __entry->err
0077     )
0078 );
0079 
0080 TRACE_EVENT(rtc_irq_set_state,
0081 
0082     TP_PROTO(int enabled, int err),
0083 
0084     TP_ARGS(enabled, err),
0085 
0086     TP_STRUCT__entry(
0087         __field(int, enabled)
0088         __field(int, err)
0089     ),
0090 
0091     TP_fast_assign(
0092         __entry->enabled = enabled;
0093         __entry->err = err;
0094     ),
0095 
0096     TP_printk("%s RTC 2^N Hz periodic IRQs (%d)",
0097           __entry->enabled ? "enable" : "disable",
0098           __entry->err
0099     )
0100 );
0101 
0102 TRACE_EVENT(rtc_alarm_irq_enable,
0103 
0104     TP_PROTO(unsigned int enabled, int err),
0105 
0106     TP_ARGS(enabled, err),
0107 
0108     TP_STRUCT__entry(
0109         __field(unsigned int, enabled)
0110         __field(int, err)
0111     ),
0112 
0113     TP_fast_assign(
0114         __entry->enabled = enabled;
0115         __entry->err = err;
0116     ),
0117 
0118     TP_printk("%s RTC alarm IRQ (%d)",
0119           __entry->enabled ? "enable" : "disable",
0120           __entry->err
0121     )
0122 );
0123 
0124 DECLARE_EVENT_CLASS(rtc_offset_class,
0125 
0126     TP_PROTO(long offset, int err),
0127 
0128     TP_ARGS(offset, err),
0129 
0130     TP_STRUCT__entry(
0131         __field(long, offset)
0132         __field(int, err)
0133     ),
0134 
0135     TP_fast_assign(
0136         __entry->offset = offset;
0137         __entry->err = err;
0138     ),
0139 
0140     TP_printk("RTC offset: %ld (%d)",
0141           __entry->offset, __entry->err
0142     )
0143 );
0144 
0145 DEFINE_EVENT(rtc_offset_class, rtc_set_offset,
0146 
0147     TP_PROTO(long offset, int err),
0148 
0149     TP_ARGS(offset, err)
0150 );
0151 
0152 DEFINE_EVENT(rtc_offset_class, rtc_read_offset,
0153 
0154     TP_PROTO(long offset, int err),
0155 
0156     TP_ARGS(offset, err)
0157 );
0158 
0159 DECLARE_EVENT_CLASS(rtc_timer_class,
0160 
0161     TP_PROTO(struct rtc_timer *timer),
0162 
0163     TP_ARGS(timer),
0164 
0165     TP_STRUCT__entry(
0166         __field(struct rtc_timer *, timer)
0167         __field(ktime_t, expires)
0168         __field(ktime_t, period)
0169     ),
0170 
0171     TP_fast_assign(
0172         __entry->timer = timer;
0173         __entry->expires = timer->node.expires;
0174         __entry->period = timer->period;
0175     ),
0176 
0177     TP_printk("RTC timer:(%p) expires:%lld period:%lld",
0178           __entry->timer, __entry->expires, __entry->period
0179     )
0180 );
0181 
0182 DEFINE_EVENT(rtc_timer_class, rtc_timer_enqueue,
0183 
0184     TP_PROTO(struct rtc_timer *timer),
0185 
0186     TP_ARGS(timer)
0187 );
0188 
0189 DEFINE_EVENT(rtc_timer_class, rtc_timer_dequeue,
0190 
0191     TP_PROTO(struct rtc_timer *timer),
0192 
0193     TP_ARGS(timer)
0194 );
0195 
0196 DEFINE_EVENT(rtc_timer_class, rtc_timer_fired,
0197 
0198     TP_PROTO(struct rtc_timer *timer),
0199 
0200     TP_ARGS(timer)
0201 );
0202 
0203 #endif /* _TRACE_RTC_H */
0204 
0205 /* This part must be outside protection */
0206 #include <trace/define_trace.h>