#endif
 
+static __always_inline void
+trace_event_setup(struct ring_buffer_event *event,
+                 int type, unsigned long flags, int pc)
+{
+       struct trace_entry *ent = ring_buffer_event_data(event);
+
+       tracing_generic_entry_update(ent, flags, pc);
+       ent->type = type;
+}
+
+static __always_inline struct ring_buffer_event *
+__trace_buffer_lock_reserve(struct ring_buffer *buffer,
+                         int type,
+                         unsigned long len,
+                         unsigned long flags, int pc)
+{
+       struct ring_buffer_event *event;
+
+       event = ring_buffer_lock_reserve(buffer, len);
+       if (event != NULL)
+               trace_event_setup(event, type, flags, pc);
+
+       return event;
+}
+
 static void tracer_tracing_on(struct trace_array *tr)
 {
        if (tr->trace_buffer.buffer)
 
        local_save_flags(irq_flags);
        buffer = global_trace.trace_buffer.buffer;
-       event = trace_buffer_lock_reserve(buffer, TRACE_PRINT, alloc, 
-                                         irq_flags, pc);
+       event = __trace_buffer_lock_reserve(buffer, TRACE_PRINT, alloc, 
+                                           irq_flags, pc);
        if (!event)
                return 0;
 
 
        local_save_flags(irq_flags);
        buffer = global_trace.trace_buffer.buffer;
-       event = trace_buffer_lock_reserve(buffer, TRACE_BPUTS, size,
-                                         irq_flags, pc);
+       event = __trace_buffer_lock_reserve(buffer, TRACE_BPUTS, size,
+                                           irq_flags, pc);
        if (!event)
                return 0;
 
 }
 EXPORT_SYMBOL_GPL(tracing_generic_entry_update);
 
-static __always_inline void
-trace_event_setup(struct ring_buffer_event *event,
-                 int type, unsigned long flags, int pc)
-{
-       struct trace_entry *ent = ring_buffer_event_data(event);
-
-       tracing_generic_entry_update(ent, flags, pc);
-       ent->type = type;
-}
-
 struct ring_buffer_event *
 trace_buffer_lock_reserve(struct ring_buffer *buffer,
                          int type,
                          unsigned long len,
                          unsigned long flags, int pc)
 {
-       struct ring_buffer_event *event;
-
-       event = ring_buffer_lock_reserve(buffer, len);
-       if (event != NULL)
-               trace_event_setup(event, type, flags, pc);
-
-       return event;
+       return __trace_buffer_lock_reserve(buffer, type, len, flags, pc);
 }
 
 DEFINE_PER_CPU(struct ring_buffer_event *, trace_buffered_event);
                this_cpu_dec(trace_buffered_event_cnt);
        }
 
-       entry = trace_buffer_lock_reserve(*current_rb,
-                                        type, len, flags, pc);
+       entry = __trace_buffer_lock_reserve(*current_rb,
+                                           type, len, flags, pc);
        /*
         * If tracing is off, but we have triggers enabled
         * we still need to look at the event data. Use the temp_buffer
         */
        if (!entry && trace_file->flags & EVENT_FILE_FL_TRIGGER_COND) {
                *current_rb = temp_buffer;
-               entry = trace_buffer_lock_reserve(*current_rb,
-                                                 type, len, flags, pc);
+               entry = __trace_buffer_lock_reserve(*current_rb,
+                                                   type, len, flags, pc);
        }
        return entry;
 }
        struct ring_buffer_event *event;
        struct ftrace_entry *entry;
 
-       event = trace_buffer_lock_reserve(buffer, TRACE_FN, sizeof(*entry),
-                                         flags, pc);
+       event = __trace_buffer_lock_reserve(buffer, TRACE_FN, sizeof(*entry),
+                                           flags, pc);
        if (!event)
                return;
        entry   = ring_buffer_event_data(event);
 
        size *= sizeof(unsigned long);
 
-       event = trace_buffer_lock_reserve(buffer, TRACE_STACK,
-                                         sizeof(*entry) + size, flags, pc);
+       event = __trace_buffer_lock_reserve(buffer, TRACE_STACK,
+                                           sizeof(*entry) + size, flags, pc);
        if (!event)
                goto out;
        entry = ring_buffer_event_data(event);
 
        __this_cpu_inc(user_stack_count);
 
-       event = trace_buffer_lock_reserve(buffer, TRACE_USER_STACK,
-                                         sizeof(*entry), flags, pc);
+       event = __trace_buffer_lock_reserve(buffer, TRACE_USER_STACK,
+                                           sizeof(*entry), flags, pc);
        if (!event)
                goto out_drop_count;
        entry   = ring_buffer_event_data(event);
        local_save_flags(flags);
        size = sizeof(*entry) + sizeof(u32) * len;
        buffer = tr->trace_buffer.buffer;
-       event = trace_buffer_lock_reserve(buffer, TRACE_BPRINT, size,
-                                         flags, pc);
+       event = __trace_buffer_lock_reserve(buffer, TRACE_BPRINT, size,
+                                           flags, pc);
        if (!event)
                goto out;
        entry = ring_buffer_event_data(event);
 
        local_save_flags(flags);
        size = sizeof(*entry) + len + 1;
-       event = trace_buffer_lock_reserve(buffer, TRACE_PRINT, size,
-                                         flags, pc);
+       event = __trace_buffer_lock_reserve(buffer, TRACE_PRINT, size,
+                                           flags, pc);
        if (!event)
                goto out;
        entry = ring_buffer_event_data(event);
        local_save_flags(irq_flags);
        size = sizeof(*entry) + cnt + 2; /* possible \n added */
        buffer = tr->trace_buffer.buffer;
-       event = trace_buffer_lock_reserve(buffer, TRACE_PRINT, size,
-                                         irq_flags, preempt_count());
+       event = __trace_buffer_lock_reserve(buffer, TRACE_PRINT, size,
+                                           irq_flags, preempt_count());
        if (!event) {
                /* Ring buffer disabled, return as if not open for write */
                written = -EBADF;
        local_save_flags(irq_flags);
        size = sizeof(*entry) + cnt;
        buffer = tr->trace_buffer.buffer;
-       event = trace_buffer_lock_reserve(buffer, TRACE_RAW_DATA, size,
-                                         irq_flags, preempt_count());
+       event = __trace_buffer_lock_reserve(buffer, TRACE_RAW_DATA, size,
+                                           irq_flags, preempt_count());
        if (!event) {
                /* Ring buffer disabled, return as if not open for write */
                written = -EBADF;