Commit 0aeb1def authored by Cong Wang's avatar Cong Wang Committed by Steven Rostedt (VMware)

tracing: Make trace_get_fields() global

trace_get_fields() is the only way to read tracepoint fields at
run time, as their fields are defined at compile-time with macros.
Make this function visible to all users and it will be used by
trace event injection code to calculate the size of a tracepoint
entry.
Link: http://lkml.kernel.org/r/20190525165802.25944-4-xiyou.wangcong@gmail.com

Cc: Ingo Molnar <mingo@redhat.com>
Signed-off-by: default avatarCong Wang <xiyou.wangcong@gmail.com>
Signed-off-by: default avatarSteven Rostedt (VMware) <rostedt@goodmis.org>
parent 5967bd5c
...@@ -318,6 +318,14 @@ trace_event_name(struct trace_event_call *call) ...@@ -318,6 +318,14 @@ trace_event_name(struct trace_event_call *call)
return call->name; return call->name;
} }
static inline struct list_head *
trace_get_fields(struct trace_event_call *event_call)
{
if (!event_call->class->get_fields)
return &event_call->class->fields;
return event_call->class->get_fields(event_call);
}
struct trace_array; struct trace_array;
struct trace_subsystem_dir; struct trace_subsystem_dir;
......
...@@ -70,14 +70,6 @@ static int system_refcount_dec(struct event_subsystem *system) ...@@ -70,14 +70,6 @@ static int system_refcount_dec(struct event_subsystem *system)
#define while_for_each_event_file() \ #define while_for_each_event_file() \
} }
static struct list_head *
trace_get_fields(struct trace_event_call *event_call)
{
if (!event_call->class->get_fields)
return &event_call->class->fields;
return event_call->class->get_fields(event_call);
}
static struct ftrace_event_field * static struct ftrace_event_field *
__find_event_field(struct list_head *head, char *name) __find_event_field(struct list_head *head, char *name)
{ {
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment