2 * Copyright (C) 2009 Steven Rostedt <srostedt@redhat.com>
3 * Copyright (C) 2010 Nils Carlson <nils.carlson@ericsson.com>
5 * This library is free software; you can redistribute it and/or
6 * modify it under the terms of the GNU Lesser General Public
7 * License as published by the Free Software Foundation; either
8 * version 2.1 of the License, or (at your option) any later version.
10 * This library is distributed in the hope that it will be useful,
11 * but WITHOUT ANY WARRANTY; without even the implied warranty of
12 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
13 * Lesser General Public License for more details.
15 * You should have received a copy of the GNU Lesser General Public
16 * License along with this library; if not, write to the Free Software
17 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
22 * This whole file is currently a dummy, mapping a TRACE_EVENT
29 * Stage 1. Create a struct and a printf calling function
30 * that is connected to the tracepoint at load time.
33 #define TRACE_EVENT(name, proto, args, tstruct, assign, print) \
34 DECLARE_TRACE_EVENT_CLASS(name, \
40 DEFINE_TRACE_EVENT(name, name, TP_PARAMS(proto), TP_PARAMS(args));
43 #define __field(type, item) type item;
45 #undef TP_STRUCT__entry
46 #define TP_STRUCT__entry(args...) args
49 #define TP_printf(fmt, args...) fmt "\n", args
52 #define TP_fast_assign(args...) args
54 #undef DEFINE_TRACE_EVENT
55 #define DEFINE_TRACE_EVENT(template, name, proto, args)
58 #undef DECLARE_TRACE_EVENT_CLASS
59 #define DECLARE_TRACE_EVENT_CLASS(name, proto, args, tstruct, assign, print) \
60 struct trace_raw_##name { \
63 static void trace_printf_##name(void *dummy, proto) \
65 struct trace_raw_##name entry_struct, *__entry; \
66 __entry = &entry_struct; \
71 static inline int register_event_##name(void *data) \
73 return register_tracepoint(name, trace_printf_##name, data); \
75 static inline int unregister_event_##name(void *data) \
77 return unregister_tracepoint(name, trace_printf_##name, data); \
79 struct trace_event __event_##name = { \
81 register_event_##name, \
82 unregister_event_##name \
84 static struct trace_event * const __event_ptrs_##name \
85 __attribute__((used, section("__trace_events_ptrs"))) = \
88 static void __attribute__((constructor)) init_##name() \
91 register_tracepoint(name, trace_printf_##name, dummy); \
95 #include TRACE_INCLUDE(TRACE_INCLUDE_FILE)
This page took 0.04153 seconds and 4 git commands to generate.