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