1 /* SPDX-License-Identifier: GPL-2.0 */
2 #undef TRACE_SYSTEM
3 #define TRACE_SYSTEM notifier
4 
5 #if !defined(_TRACE_NOTIFIERS_H) || defined(TRACE_HEADER_MULTI_READ)
6 #define _TRACE_NOTIFIERS_H
7 
8 #include <linux/tracepoint.h>
9 
10 DECLARE_EVENT_CLASS(notifier_info,
11 
12 	TP_PROTO(void *cb),
13 
14 	TP_ARGS(cb),
15 
16 	TP_STRUCT__entry(
17 		__field(void *, cb)
18 	),
19 
20 	TP_fast_assign(
21 		__entry->cb = cb;
22 	),
23 
24 	TP_printk("%ps", __entry->cb)
25 );
26 
27 /*
28  * notifier_register - called upon notifier callback registration
29  *
30  * @cb:		callback pointer
31  *
32  */
33 DEFINE_EVENT(notifier_info, notifier_register,
34 
35 	TP_PROTO(void *cb),
36 
37 	TP_ARGS(cb)
38 );
39 
40 /*
41  * notifier_unregister - called upon notifier callback unregistration
42  *
43  * @cb:		callback pointer
44  *
45  */
46 DEFINE_EVENT(notifier_info, notifier_unregister,
47 
48 	TP_PROTO(void *cb),
49 
50 	TP_ARGS(cb)
51 );
52 
53 /*
54  * notifier_run - called upon notifier callback execution
55  *
56  * @cb:		callback pointer
57  *
58  */
59 DEFINE_EVENT(notifier_info, notifier_run,
60 
61 	TP_PROTO(void *cb),
62 
63 	TP_ARGS(cb)
64 );
65 
66 #endif /* _TRACE_NOTIFIERS_H */
67 
68 /* This part must be outside protection */
69 #include <trace/define_trace.h>
70