#undef TRACE_SYSTEM #define TRACE_INCLUDE_PATH ../../drivers/staging/android/trace #define TRACE_SYSTEM sync #if !defined(_TRACE_SYNC_H) || defined(TRACE_HEADER_MULTI_READ) #define _TRACE_SYNC_H #include "../sync.h" #include <linux/tracepoint.h> TRACE_EVENT(sync_timeline, TP_PROTO(struct sync_timeline *timeline), TP_ARGS(timeline), TP_STRUCT__entry( __string(name, timeline->name) __array(char, value, 32) ), TP_fast_assign( __assign_str(name, timeline->name); if (timeline->ops->timeline_value_str) { timeline->ops->timeline_value_str(timeline, __entry->value, sizeof(__entry->value)); } else { __entry->value[0] = '\0'; } ), TP_printk("name=%s value=%s", __get_str(name), __entry->value) ); TRACE_EVENT(sync_wait, TP_PROTO(struct sync_fence *fence, int begin), TP_ARGS(fence, begin), TP_STRUCT__entry( __string(name, fence->name) __field(s32, status) __field(u32, begin) ), TP_fast_assign( __assign_str(name, fence->name); __entry->status = atomic_read(&fence->status); __entry->begin = begin; ), TP_printk("%s name=%s state=%d", __entry->begin ? "begin" : "end", __get_str(name), __entry->status) ); TRACE_EVENT(sync_pt, TP_PROTO(struct fence *pt), TP_ARGS(pt), TP_STRUCT__entry( __string(timeline, pt->ops->get_timeline_name(pt)) __array(char, value, 32) ), TP_fast_assign( __assign_str(timeline, pt->ops->get_timeline_name(pt)); if (pt->ops->fence_value_str) { pt->ops->fence_value_str(pt, __entry->value, sizeof(__entry->value)); } else { __entry->value[0] = '\0'; } ), TP_printk("name=%s value=%s", __get_str(timeline), __entry->value) ); #endif /* if !defined(_TRACE_SYNC_H) || defined(TRACE_HEADER_MULTI_READ) */ /* This part must be outside protection */ #include <trace/define_trace.h>