aboutsummaryrefslogtreecommitdiffstats
path: root/kernel/trace/trace.c
diff options
context:
space:
mode:
authorPekka Paalanen <pq@iki.fi>2008-09-16 14:56:41 -0400
committerIngo Molnar <mingo@elte.hu>2008-10-14 04:37:04 -0400
commit45dcd8b8a8ca855591e3ac882d3a7fc255d09d43 (patch)
tree55b1772dfc9a6381ab1ecad7f3f6fbd605427f20 /kernel/trace/trace.c
parentbbe5c7830c6dbde58726d44ec0337bc8b2d95d37 (diff)
ftrace: move mmiotrace functions out of trace.c
Moves the mmiotrace specific functions from trace.c to trace_mmiotrace.c. Functions trace_wake_up(), tracing_get_trace_entry(), and tracing_generic_entry_update() are therefore made available outside trace.c. Signed-off-by: Pekka Paalanen <pq@iki.fi> Acked-by: Steven Rostedt <rostedt@goodmis.org> Signed-off-by: Ingo Molnar <mingo@elte.hu>
Diffstat (limited to 'kernel/trace/trace.c')
-rw-r--r--kernel/trace/trace.c46
1 files changed, 2 insertions, 44 deletions
diff --git a/kernel/trace/trace.c b/kernel/trace/trace.c
index 7e6cb4fe62f2..d372bc535963 100644
--- a/kernel/trace/trace.c
+++ b/kernel/trace/trace.c
@@ -785,7 +785,7 @@ trace_next_page(struct trace_array_cpu *data, void *addr)
785 return page_address(page); 785 return page_address(page);
786} 786}
787 787
788static inline struct trace_entry * 788struct trace_entry *
789tracing_get_trace_entry(struct trace_array *tr, struct trace_array_cpu *data) 789tracing_get_trace_entry(struct trace_array *tr, struct trace_array_cpu *data)
790{ 790{
791 unsigned long idx, idx_next; 791 unsigned long idx, idx_next;
@@ -821,7 +821,7 @@ tracing_get_trace_entry(struct trace_array *tr, struct trace_array_cpu *data)
821 return entry; 821 return entry;
822} 822}
823 823
824static inline void 824void
825tracing_generic_entry_update(struct trace_entry *entry, unsigned long flags) 825tracing_generic_entry_update(struct trace_entry *entry, unsigned long flags)
826{ 826{
827 struct task_struct *tsk = current; 827 struct task_struct *tsk = current;
@@ -865,48 +865,6 @@ ftrace(struct trace_array *tr, struct trace_array_cpu *data,
865 trace_function(tr, data, ip, parent_ip, flags); 865 trace_function(tr, data, ip, parent_ip, flags);
866} 866}
867 867
868#ifdef CONFIG_MMIOTRACE
869void __trace_mmiotrace_rw(struct trace_array *tr, struct trace_array_cpu *data,
870 struct mmiotrace_rw *rw)
871{
872 struct trace_entry *entry;
873 unsigned long irq_flags;
874
875 raw_local_irq_save(irq_flags);
876 __raw_spin_lock(&data->lock);
877
878 entry = tracing_get_trace_entry(tr, data);
879 tracing_generic_entry_update(entry, 0);
880 entry->type = TRACE_MMIO_RW;
881 entry->field.mmiorw = *rw;
882
883 __raw_spin_unlock(&data->lock);
884 raw_local_irq_restore(irq_flags);
885
886 trace_wake_up();
887}
888
889void __trace_mmiotrace_map(struct trace_array *tr, struct trace_array_cpu *data,
890 struct mmiotrace_map *map)
891{
892 struct trace_entry *entry;
893 unsigned long irq_flags;
894
895 raw_local_irq_save(irq_flags);
896 __raw_spin_lock(&data->lock);
897
898 entry = tracing_get_trace_entry(tr, data);
899 tracing_generic_entry_update(entry, 0);
900 entry->type = TRACE_MMIO_MAP;
901 entry->field.mmiomap = *map;
902
903 __raw_spin_unlock(&data->lock);
904 raw_local_irq_restore(irq_flags);
905
906 trace_wake_up();
907}
908#endif
909
910void __trace_stack(struct trace_array *tr, 868void __trace_stack(struct trace_array *tr,
911 struct trace_array_cpu *data, 869 struct trace_array_cpu *data,
912 unsigned long flags, 870 unsigned long flags,