Back to home page

OSCL-LXR

 
 

    


0001 /* SPDX-License-Identifier: GPL-2.0 */
0002 #undef TRACE_SYSTEM
0003 #define TRACE_SYSTEM alarmtimer
0004 
0005 #if !defined(_TRACE_ALARMTIMER_H) || defined(TRACE_HEADER_MULTI_READ)
0006 #define _TRACE_ALARMTIMER_H
0007 
0008 #include <linux/alarmtimer.h>
0009 #include <linux/rtc.h>
0010 #include <linux/tracepoint.h>
0011 
0012 TRACE_DEFINE_ENUM(ALARM_REALTIME);
0013 TRACE_DEFINE_ENUM(ALARM_BOOTTIME);
0014 TRACE_DEFINE_ENUM(ALARM_REALTIME_FREEZER);
0015 TRACE_DEFINE_ENUM(ALARM_BOOTTIME_FREEZER);
0016 
0017 #define show_alarm_type(type)   __print_flags(type, " | ",  \
0018     { 1 << ALARM_REALTIME, "REALTIME" },            \
0019     { 1 << ALARM_BOOTTIME, "BOOTTIME" },            \
0020     { 1 << ALARM_REALTIME_FREEZER, "REALTIME Freezer" },    \
0021     { 1 << ALARM_BOOTTIME_FREEZER, "BOOTTIME Freezer" })
0022 
0023 TRACE_EVENT(alarmtimer_suspend,
0024 
0025     TP_PROTO(ktime_t expires, int flag),
0026 
0027     TP_ARGS(expires, flag),
0028 
0029     TP_STRUCT__entry(
0030         __field(s64, expires)
0031         __field(unsigned char, alarm_type)
0032     ),
0033 
0034     TP_fast_assign(
0035         __entry->expires = expires;
0036         __entry->alarm_type = flag;
0037     ),
0038 
0039     TP_printk("alarmtimer type:%s expires:%llu",
0040           show_alarm_type((1 << __entry->alarm_type)),
0041           __entry->expires
0042     )
0043 );
0044 
0045 DECLARE_EVENT_CLASS(alarm_class,
0046 
0047     TP_PROTO(struct alarm *alarm, ktime_t now),
0048 
0049     TP_ARGS(alarm, now),
0050 
0051     TP_STRUCT__entry(
0052         __field(void *, alarm)
0053         __field(unsigned char, alarm_type)
0054         __field(s64, expires)
0055         __field(s64, now)
0056     ),
0057 
0058     TP_fast_assign(
0059         __entry->alarm = alarm;
0060         __entry->alarm_type = alarm->type;
0061         __entry->expires = alarm->node.expires;
0062         __entry->now = now;
0063     ),
0064 
0065     TP_printk("alarmtimer:%p type:%s expires:%llu now:%llu",
0066           __entry->alarm,
0067           show_alarm_type((1 << __entry->alarm_type)),
0068           __entry->expires,
0069           __entry->now
0070     )
0071 );
0072 
0073 DEFINE_EVENT(alarm_class, alarmtimer_fired,
0074 
0075     TP_PROTO(struct alarm *alarm, ktime_t now),
0076 
0077     TP_ARGS(alarm, now)
0078 );
0079 
0080 DEFINE_EVENT(alarm_class, alarmtimer_start,
0081 
0082     TP_PROTO(struct alarm *alarm, ktime_t now),
0083 
0084     TP_ARGS(alarm, now)
0085 );
0086 
0087 DEFINE_EVENT(alarm_class, alarmtimer_cancel,
0088 
0089     TP_PROTO(struct alarm *alarm, ktime_t now),
0090 
0091     TP_ARGS(alarm, now)
0092 );
0093 
0094 #endif /* _TRACE_ALARMTIMER_H */
0095 
0096 /* This part must be outside protection */
0097 #include <trace/define_trace.h>