Revert "tracing: Move event storage for array from macro to standalone function"
[deliverable/linux.git] / kernel / trace / trace_events.c
index e71ffd4eccb5b4d7a7b0234dd72e525b1c647550..2f7b8e31e3a4c21930e4231544accd56954d2623 100644 (file)
@@ -194,6 +194,36 @@ int trace_event_raw_init(struct ftrace_event_call *call)
 }
 EXPORT_SYMBOL_GPL(trace_event_raw_init);
 
+void *ftrace_event_buffer_reserve(struct ftrace_event_buffer *fbuffer,
+                                 struct ftrace_event_file *ftrace_file,
+                                 unsigned long len)
+{
+       struct ftrace_event_call *event_call = ftrace_file->event_call;
+
+       local_save_flags(fbuffer->flags);
+       fbuffer->pc = preempt_count();
+       fbuffer->ftrace_file = ftrace_file;
+
+       fbuffer->event =
+               trace_event_buffer_lock_reserve(&fbuffer->buffer, ftrace_file,
+                                               event_call->event.type, len,
+                                               fbuffer->flags, fbuffer->pc);
+       if (!fbuffer->event)
+               return NULL;
+
+       fbuffer->entry = ring_buffer_event_data(fbuffer->event);
+       return fbuffer->entry;
+}
+EXPORT_SYMBOL_GPL(ftrace_event_buffer_reserve);
+
+void ftrace_event_buffer_commit(struct ftrace_event_buffer *fbuffer)
+{
+       event_trigger_unlock_commit(fbuffer->ftrace_file, fbuffer->buffer,
+                                   fbuffer->event, fbuffer->entry,
+                                   fbuffer->flags, fbuffer->pc);
+}
+EXPORT_SYMBOL_GPL(ftrace_event_buffer_commit);
+
 int ftrace_event_reg(struct ftrace_event_call *call,
                     enum trace_reg type, void *data)
 {
This page took 0.033087 seconds and 5 git commands to generate.