26b298a31950ce98c426c7643ce835989d046b49
[linux-modified.git] / notifier.h
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>