xref: /openbmc/linux/include/trace/events/initcall.h (revision 0566e40c)
14ee7c60dSSteven Rostedt (VMware) /* SPDX-License-Identifier: GPL-2.0 */
24ee7c60dSSteven Rostedt (VMware) #undef TRACE_SYSTEM
34ee7c60dSSteven Rostedt (VMware) #define TRACE_SYSTEM initcall
44ee7c60dSSteven Rostedt (VMware) 
54ee7c60dSSteven Rostedt (VMware) #if !defined(_TRACE_INITCALL_H) || defined(TRACE_HEADER_MULTI_READ)
64ee7c60dSSteven Rostedt (VMware) #define _TRACE_INITCALL_H
74ee7c60dSSteven Rostedt (VMware) 
84ee7c60dSSteven Rostedt (VMware) #include <linux/tracepoint.h>
94ee7c60dSSteven Rostedt (VMware) 
104ee7c60dSSteven Rostedt (VMware) TRACE_EVENT(initcall_level,
114ee7c60dSSteven Rostedt (VMware) 
124ee7c60dSSteven Rostedt (VMware) 	TP_PROTO(const char *level),
134ee7c60dSSteven Rostedt (VMware) 
144ee7c60dSSteven Rostedt (VMware) 	TP_ARGS(level),
154ee7c60dSSteven Rostedt (VMware) 
164ee7c60dSSteven Rostedt (VMware) 	TP_STRUCT__entry(
174ee7c60dSSteven Rostedt (VMware) 		__string(level, level)
184ee7c60dSSteven Rostedt (VMware) 	),
194ee7c60dSSteven Rostedt (VMware) 
204ee7c60dSSteven Rostedt (VMware) 	TP_fast_assign(
214ee7c60dSSteven Rostedt (VMware) 		__assign_str(level, level);
224ee7c60dSSteven Rostedt (VMware) 	),
234ee7c60dSSteven Rostedt (VMware) 
244ee7c60dSSteven Rostedt (VMware) 	TP_printk("level=%s", __get_str(level))
254ee7c60dSSteven Rostedt (VMware) );
264ee7c60dSSteven Rostedt (VMware) 
274ee7c60dSSteven Rostedt (VMware) TRACE_EVENT(initcall_start,
284ee7c60dSSteven Rostedt (VMware) 
294ee7c60dSSteven Rostedt (VMware) 	TP_PROTO(initcall_t func),
304ee7c60dSSteven Rostedt (VMware) 
314ee7c60dSSteven Rostedt (VMware) 	TP_ARGS(func),
324ee7c60dSSteven Rostedt (VMware) 
334ee7c60dSSteven Rostedt (VMware) 	TP_STRUCT__entry(
340566e40cSRishabh Bhatnagar 		/*
350566e40cSRishabh Bhatnagar 		 * Use field_struct to avoid is_signed_type()
360566e40cSRishabh Bhatnagar 		 * comparison of a function pointer
370566e40cSRishabh Bhatnagar 		 */
380566e40cSRishabh Bhatnagar 		__field_struct(initcall_t, func)
394ee7c60dSSteven Rostedt (VMware) 	),
404ee7c60dSSteven Rostedt (VMware) 
414ee7c60dSSteven Rostedt (VMware) 	TP_fast_assign(
424ee7c60dSSteven Rostedt (VMware) 		__entry->func = func;
434ee7c60dSSteven Rostedt (VMware) 	),
444ee7c60dSSteven Rostedt (VMware) 
454ee7c60dSSteven Rostedt (VMware) 	TP_printk("func=%pS", __entry->func)
464ee7c60dSSteven Rostedt (VMware) );
474ee7c60dSSteven Rostedt (VMware) 
484ee7c60dSSteven Rostedt (VMware) TRACE_EVENT(initcall_finish,
494ee7c60dSSteven Rostedt (VMware) 
504ee7c60dSSteven Rostedt (VMware) 	TP_PROTO(initcall_t func, int ret),
514ee7c60dSSteven Rostedt (VMware) 
524ee7c60dSSteven Rostedt (VMware) 	TP_ARGS(func, ret),
534ee7c60dSSteven Rostedt (VMware) 
544ee7c60dSSteven Rostedt (VMware) 	TP_STRUCT__entry(
550566e40cSRishabh Bhatnagar 		/*
560566e40cSRishabh Bhatnagar 		 * Use field_struct to avoid is_signed_type()
570566e40cSRishabh Bhatnagar 		 * comparison of a function pointer
580566e40cSRishabh Bhatnagar 		 */
590566e40cSRishabh Bhatnagar 		__field_struct(initcall_t,	func)
604ee7c60dSSteven Rostedt (VMware) 		__field(int,			ret)
614ee7c60dSSteven Rostedt (VMware) 	),
624ee7c60dSSteven Rostedt (VMware) 
634ee7c60dSSteven Rostedt (VMware) 	TP_fast_assign(
644ee7c60dSSteven Rostedt (VMware) 		__entry->func = func;
654ee7c60dSSteven Rostedt (VMware) 		__entry->ret = ret;
664ee7c60dSSteven Rostedt (VMware) 	),
674ee7c60dSSteven Rostedt (VMware) 
684ee7c60dSSteven Rostedt (VMware) 	TP_printk("func=%pS ret=%d", __entry->func, __entry->ret)
694ee7c60dSSteven Rostedt (VMware) );
704ee7c60dSSteven Rostedt (VMware) 
714ee7c60dSSteven Rostedt (VMware) #endif /* if !defined(_TRACE_GPIO_H) || defined(TRACE_HEADER_MULTI_READ) */
724ee7c60dSSteven Rostedt (VMware) 
734ee7c60dSSteven Rostedt (VMware) /* This part must be outside protection */
744ee7c60dSSteven Rostedt (VMware) #include <trace/define_trace.h>
75