aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorArnaldo Carvalho de Melo <acme@redhat.com>2009-02-02 17:30:12 -0500
committerIngo Molnar <mingo@elte.hu>2009-02-03 08:03:52 -0500
commit2c9b238eb325895d3312dad64e2685783575e474 (patch)
tree1c64910c6084c53b9d9a458a34568ccb083419e8
parentc4a8e8be2d43cc22b371e8e9c05c253409759d94 (diff)
trace: Change struct trace_event callbacks parameter list
Impact: API change The trace_seq and trace_entry are in trace_iterator, where there are more fields that may be needed by tracers, so just pass the tracer_iterator as is already the case for struct tracer->print_line. Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com> Signed-off-by: Ingo Molnar <mingo@elte.hu>
-rw-r--r--block/blktrace.c8
-rw-r--r--kernel/trace/trace.c10
-rw-r--r--kernel/trace/trace_branch.c7
-rw-r--r--kernel/trace/trace_output.c139
-rw-r--r--kernel/trace/trace_output.h6
5 files changed, 76 insertions, 94 deletions
diff --git a/block/blktrace.c b/block/blktrace.c
index 3f25425ade12..570cd3c40bd1 100644
--- a/block/blktrace.c
+++ b/block/blktrace.c
@@ -1140,10 +1140,10 @@ static struct {
1140 [__BLK_TA_REMAP] = {{ "A", "remap" }, blk_log_remap }, 1140 [__BLK_TA_REMAP] = {{ "A", "remap" }, blk_log_remap },
1141}; 1141};
1142 1142
1143static int blk_trace_event_print(struct trace_seq *s, struct trace_entry *ent, 1143static int blk_trace_event_print(struct trace_iterator *iter, int flags)
1144 int flags)
1145{ 1144{
1146 const struct blk_io_trace *t = (struct blk_io_trace *)ent; 1145 struct trace_seq *s = &iter->seq;
1146 const struct blk_io_trace *t = (struct blk_io_trace *)iter->ent;
1147 const u16 what = t->action & ((1 << BLK_TC_SHIFT) - 1); 1147 const u16 what = t->action & ((1 << BLK_TC_SHIFT) - 1);
1148 int ret; 1148 int ret;
1149 1149
@@ -1153,7 +1153,7 @@ static int blk_trace_event_print(struct trace_seq *s, struct trace_entry *ent,
1153 const bool long_act = !!(trace_flags & TRACE_ITER_VERBOSE); 1153 const bool long_act = !!(trace_flags & TRACE_ITER_VERBOSE);
1154 ret = blk_log_action_seq(s, t, what2act[what].act[long_act]); 1154 ret = blk_log_action_seq(s, t, what2act[what].act[long_act]);
1155 if (ret) 1155 if (ret)
1156 ret = what2act[what].print(s, ent); 1156 ret = what2act[what].print(s, iter->ent);
1157 } 1157 }
1158 1158
1159 return ret ? TRACE_TYPE_HANDLED : TRACE_TYPE_PARTIAL_LINE; 1159 return ret ? TRACE_TYPE_HANDLED : TRACE_TYPE_PARTIAL_LINE;
diff --git a/kernel/trace/trace.c b/kernel/trace/trace.c
index 5ec49c3c1597..152d0969adf8 100644
--- a/kernel/trace/trace.c
+++ b/kernel/trace/trace.c
@@ -1388,7 +1388,7 @@ static enum print_line_t print_lat_fmt(struct trace_iterator *iter)
1388 } 1388 }
1389 1389
1390 if (event && event->latency_trace) { 1390 if (event && event->latency_trace) {
1391 ret = event->latency_trace(s, entry, sym_flags); 1391 ret = event->latency_trace(iter, sym_flags);
1392 if (ret) 1392 if (ret)
1393 return ret; 1393 return ret;
1394 return TRACE_TYPE_HANDLED; 1394 return TRACE_TYPE_HANDLED;
@@ -1419,7 +1419,7 @@ static enum print_line_t print_trace_fmt(struct trace_iterator *iter)
1419 } 1419 }
1420 1420
1421 if (event && event->trace) { 1421 if (event && event->trace) {
1422 ret = event->trace(s, entry, sym_flags); 1422 ret = event->trace(iter, sym_flags);
1423 if (ret) 1423 if (ret)
1424 return ret; 1424 return ret;
1425 return TRACE_TYPE_HANDLED; 1425 return TRACE_TYPE_HANDLED;
@@ -1449,7 +1449,7 @@ static enum print_line_t print_raw_fmt(struct trace_iterator *iter)
1449 1449
1450 event = ftrace_find_event(entry->type); 1450 event = ftrace_find_event(entry->type);
1451 if (event && event->raw) { 1451 if (event && event->raw) {
1452 ret = event->raw(s, entry, 0); 1452 ret = event->raw(iter, 0);
1453 if (ret) 1453 if (ret)
1454 return ret; 1454 return ret;
1455 return TRACE_TYPE_HANDLED; 1455 return TRACE_TYPE_HANDLED;
@@ -1478,7 +1478,7 @@ static enum print_line_t print_hex_fmt(struct trace_iterator *iter)
1478 1478
1479 event = ftrace_find_event(entry->type); 1479 event = ftrace_find_event(entry->type);
1480 if (event && event->hex) 1480 if (event && event->hex)
1481 event->hex(s, entry, 0); 1481 event->hex(iter, 0);
1482 1482
1483 SEQ_PUT_FIELD_RET(s, newline); 1483 SEQ_PUT_FIELD_RET(s, newline);
1484 1484
@@ -1517,7 +1517,7 @@ static enum print_line_t print_bin_fmt(struct trace_iterator *iter)
1517 1517
1518 event = ftrace_find_event(entry->type); 1518 event = ftrace_find_event(entry->type);
1519 if (event && event->binary) 1519 if (event && event->binary)
1520 event->binary(s, entry, 0); 1520 event->binary(iter, 0);
1521 1521
1522 return TRACE_TYPE_HANDLED; 1522 return TRACE_TYPE_HANDLED;
1523} 1523}
diff --git a/kernel/trace/trace_branch.c b/kernel/trace/trace_branch.c
index 1284145c8898..ea62f101e615 100644
--- a/kernel/trace/trace_branch.c
+++ b/kernel/trace/trace_branch.c
@@ -160,14 +160,13 @@ trace_print_print(struct trace_seq *s, struct trace_entry *entry, int flags)
160 return TRACE_TYPE_PARTIAL_LINE; 160 return TRACE_TYPE_PARTIAL_LINE;
161} 161}
162 162
163static int 163static int trace_branch_print(struct trace_iterator *iter, int flags)
164trace_branch_print(struct trace_seq *s, struct trace_entry *entry, int flags)
165{ 164{
166 struct trace_branch *field; 165 struct trace_branch *field;
167 166
168 trace_assign_type(field, entry); 167 trace_assign_type(field, iter->ent);
169 168
170 if (trace_seq_printf(s, "[%s] %s:%s:%d\n", 169 if (trace_seq_printf(&iter->seq, "[%s] %s:%s:%d\n",
171 field->correct ? " ok " : " MISS ", 170 field->correct ? " ok " : " MISS ",
172 field->func, 171 field->func,
173 field->file, 172 field->file,
diff --git a/kernel/trace/trace_output.c b/kernel/trace/trace_output.c
index a5752d4d3c33..c24503b281a0 100644
--- a/kernel/trace/trace_output.c
+++ b/kernel/trace/trace_output.c
@@ -484,19 +484,18 @@ int unregister_ftrace_event(struct trace_event *event)
484 * Standard events 484 * Standard events
485 */ 485 */
486 486
487int 487int trace_nop_print(struct trace_iterator *iter, int flags)
488trace_nop_print(struct trace_seq *s, struct trace_entry *entry, int flags)
489{ 488{
490 return 0; 489 return 0;
491} 490}
492 491
493/* TRACE_FN */ 492/* TRACE_FN */
494static int 493static int trace_fn_latency(struct trace_iterator *iter, int flags)
495trace_fn_latency(struct trace_seq *s, struct trace_entry *entry, int flags)
496{ 494{
497 struct ftrace_entry *field; 495 struct ftrace_entry *field;
496 struct trace_seq *s = &iter->seq;
498 497
499 trace_assign_type(field, entry); 498 trace_assign_type(field, iter->ent);
500 499
501 if (!seq_print_ip_sym(s, field->ip, flags)) 500 if (!seq_print_ip_sym(s, field->ip, flags))
502 goto partial; 501 goto partial;
@@ -513,12 +512,12 @@ trace_fn_latency(struct trace_seq *s, struct trace_entry *entry, int flags)
513 return TRACE_TYPE_PARTIAL_LINE; 512 return TRACE_TYPE_PARTIAL_LINE;
514} 513}
515 514
516static int 515static int trace_fn_trace(struct trace_iterator *iter, int flags)
517trace_fn_trace(struct trace_seq *s, struct trace_entry *entry, int flags)
518{ 516{
519 struct ftrace_entry *field; 517 struct ftrace_entry *field;
518 struct trace_seq *s = &iter->seq;
520 519
521 trace_assign_type(field, entry); 520 trace_assign_type(field, iter->ent);
522 521
523 if (!seq_print_ip_sym(s, field->ip, flags)) 522 if (!seq_print_ip_sym(s, field->ip, flags))
524 goto partial; 523 goto partial;
@@ -540,14 +539,13 @@ trace_fn_trace(struct trace_seq *s, struct trace_entry *entry, int flags)
540 return TRACE_TYPE_PARTIAL_LINE; 539 return TRACE_TYPE_PARTIAL_LINE;
541} 540}
542 541
543static int 542static int trace_fn_raw(struct trace_iterator *iter, int flags)
544trace_fn_raw(struct trace_seq *s, struct trace_entry *entry, int flags)
545{ 543{
546 struct ftrace_entry *field; 544 struct ftrace_entry *field;
547 545
548 trace_assign_type(field, entry); 546 trace_assign_type(field, iter->ent);
549 547
550 if (!trace_seq_printf(s, "%lx %lx\n", 548 if (!trace_seq_printf(&iter->seq, "%lx %lx\n",
551 field->ip, 549 field->ip,
552 field->parent_ip)) 550 field->parent_ip))
553 return TRACE_TYPE_PARTIAL_LINE; 551 return TRACE_TYPE_PARTIAL_LINE;
@@ -555,12 +553,12 @@ trace_fn_raw(struct trace_seq *s, struct trace_entry *entry, int flags)
555 return 0; 553 return 0;
556} 554}
557 555
558static int 556static int trace_fn_hex(struct trace_iterator *iter, int flags)
559trace_fn_hex(struct trace_seq *s, struct trace_entry *entry, int flags)
560{ 557{
561 struct ftrace_entry *field; 558 struct ftrace_entry *field;
559 struct trace_seq *s = &iter->seq;
562 560
563 trace_assign_type(field, entry); 561 trace_assign_type(field, iter->ent);
564 562
565 SEQ_PUT_HEX_FIELD_RET(s, field->ip); 563 SEQ_PUT_HEX_FIELD_RET(s, field->ip);
566 SEQ_PUT_HEX_FIELD_RET(s, field->parent_ip); 564 SEQ_PUT_HEX_FIELD_RET(s, field->parent_ip);
@@ -568,12 +566,12 @@ trace_fn_hex(struct trace_seq *s, struct trace_entry *entry, int flags)
568 return 0; 566 return 0;
569} 567}
570 568
571static int 569static int trace_fn_bin(struct trace_iterator *iter, int flags)
572trace_fn_bin(struct trace_seq *s, struct trace_entry *entry, int flags)
573{ 570{
574 struct ftrace_entry *field; 571 struct ftrace_entry *field;
572 struct trace_seq *s = &iter->seq;
575 573
576 trace_assign_type(field, entry); 574 trace_assign_type(field, iter->ent);
577 575
578 SEQ_PUT_FIELD_RET(s, field->ip); 576 SEQ_PUT_FIELD_RET(s, field->ip);
579 SEQ_PUT_FIELD_RET(s, field->parent_ip); 577 SEQ_PUT_FIELD_RET(s, field->parent_ip);
@@ -591,20 +589,19 @@ static struct trace_event trace_fn_event = {
591}; 589};
592 590
593/* TRACE_CTX an TRACE_WAKE */ 591/* TRACE_CTX an TRACE_WAKE */
594static int 592static int trace_ctxwake_print(struct trace_iterator *iter, char *delim)
595trace_ctxwake_print(struct trace_seq *s, struct trace_entry *entry, int flags,
596 char *delim)
597{ 593{
598 struct ctx_switch_entry *field; 594 struct ctx_switch_entry *field;
599 char *comm; 595 char *comm;
600 int S, T; 596 int S, T;
601 597
602 trace_assign_type(field, entry); 598 trace_assign_type(field, iter->ent);
603 599
604 T = task_state_char(field->next_state); 600 T = task_state_char(field->next_state);
605 S = task_state_char(field->prev_state); 601 S = task_state_char(field->prev_state);
606 comm = trace_find_cmdline(field->next_pid); 602 comm = trace_find_cmdline(field->next_pid);
607 if (!trace_seq_printf(s, " %5d:%3d:%c %s [%03d] %5d:%3d:%c %s\n", 603 if (!trace_seq_printf(&iter->seq,
604 " %5d:%3d:%c %s [%03d] %5d:%3d:%c %s\n",
608 field->prev_pid, 605 field->prev_pid,
609 field->prev_prio, 606 field->prev_prio,
610 S, delim, 607 S, delim,
@@ -617,31 +614,27 @@ trace_ctxwake_print(struct trace_seq *s, struct trace_entry *entry, int flags,
617 return 0; 614 return 0;
618} 615}
619 616
620static int 617static int trace_ctx_print(struct trace_iterator *iter, int flags)
621trace_ctx_print(struct trace_seq *s, struct trace_entry *entry, int flags)
622{ 618{
623 return trace_ctxwake_print(s, entry, flags, "==>"); 619 return trace_ctxwake_print(iter, "==>");
624} 620}
625 621
626static int 622static int trace_wake_print(struct trace_iterator *iter, int flags)
627trace_wake_print(struct trace_seq *s, struct trace_entry *entry, int flags)
628{ 623{
629 return trace_ctxwake_print(s, entry, flags, " +"); 624 return trace_ctxwake_print(iter, " +");
630} 625}
631 626
632static int 627static int trace_ctxwake_raw(struct trace_iterator *iter, char S)
633trace_ctxwake_raw(struct trace_seq *s, struct trace_entry *entry, int flags,
634 char S)
635{ 628{
636 struct ctx_switch_entry *field; 629 struct ctx_switch_entry *field;
637 int T; 630 int T;
638 631
639 trace_assign_type(field, entry); 632 trace_assign_type(field, iter->ent);
640 633
641 if (!S) 634 if (!S)
642 task_state_char(field->prev_state); 635 task_state_char(field->prev_state);
643 T = task_state_char(field->next_state); 636 T = task_state_char(field->next_state);
644 if (!trace_seq_printf(s, "%d %d %c %d %d %d %c\n", 637 if (!trace_seq_printf(&iter->seq, "%d %d %c %d %d %d %c\n",
645 field->prev_pid, 638 field->prev_pid,
646 field->prev_prio, 639 field->prev_prio,
647 S, 640 S,
@@ -654,27 +647,24 @@ trace_ctxwake_raw(struct trace_seq *s, struct trace_entry *entry, int flags,
654 return 0; 647 return 0;
655} 648}
656 649
657static int 650static int trace_ctx_raw(struct trace_iterator *iter, int flags)
658trace_ctx_raw(struct trace_seq *s, struct trace_entry *entry, int flags)
659{ 651{
660 return trace_ctxwake_raw(s, entry, flags, 0); 652 return trace_ctxwake_raw(iter, 0);
661} 653}
662 654
663static int 655static int trace_wake_raw(struct trace_iterator *iter, int flags)
664trace_wake_raw(struct trace_seq *s, struct trace_entry *entry, int flags)
665{ 656{
666 return trace_ctxwake_raw(s, entry, flags, '+'); 657 return trace_ctxwake_raw(iter, '+');
667} 658}
668 659
669 660
670static int 661static int trace_ctxwake_hex(struct trace_iterator *iter, char S)
671trace_ctxwake_hex(struct trace_seq *s, struct trace_entry *entry, int flags,
672 char S)
673{ 662{
674 struct ctx_switch_entry *field; 663 struct ctx_switch_entry *field;
664 struct trace_seq *s = &iter->seq;
675 int T; 665 int T;
676 666
677 trace_assign_type(field, entry); 667 trace_assign_type(field, iter->ent);
678 668
679 if (!S) 669 if (!S)
680 task_state_char(field->prev_state); 670 task_state_char(field->prev_state);
@@ -691,24 +681,22 @@ trace_ctxwake_hex(struct trace_seq *s, struct trace_entry *entry, int flags,
691 return 0; 681 return 0;
692} 682}
693 683
694static int 684static int trace_ctx_hex(struct trace_iterator *iter, int flags)
695trace_ctx_hex(struct trace_seq *s, struct trace_entry *entry, int flags)
696{ 685{
697 return trace_ctxwake_hex(s, entry, flags, 0); 686 return trace_ctxwake_hex(iter, 0);
698} 687}
699 688
700static int 689static int trace_wake_hex(struct trace_iterator *iter, int flags)
701trace_wake_hex(struct trace_seq *s, struct trace_entry *entry, int flags)
702{ 690{
703 return trace_ctxwake_hex(s, entry, flags, '+'); 691 return trace_ctxwake_hex(iter, '+');
704} 692}
705 693
706static int 694static int trace_ctxwake_bin(struct trace_iterator *iter, int flags)
707trace_ctxwake_bin(struct trace_seq *s, struct trace_entry *entry, int flags)
708{ 695{
709 struct ctx_switch_entry *field; 696 struct ctx_switch_entry *field;
697 struct trace_seq *s = &iter->seq;
710 698
711 trace_assign_type(field, entry); 699 trace_assign_type(field, iter->ent);
712 700
713 SEQ_PUT_FIELD_RET(s, field->prev_pid); 701 SEQ_PUT_FIELD_RET(s, field->prev_pid);
714 SEQ_PUT_FIELD_RET(s, field->prev_prio); 702 SEQ_PUT_FIELD_RET(s, field->prev_prio);
@@ -739,14 +727,13 @@ static struct trace_event trace_wake_event = {
739}; 727};
740 728
741/* TRACE_SPECIAL */ 729/* TRACE_SPECIAL */
742static int 730static int trace_special_print(struct trace_iterator *iter, int flags)
743trace_special_print(struct trace_seq *s, struct trace_entry *entry, int flags)
744{ 731{
745 struct special_entry *field; 732 struct special_entry *field;
746 733
747 trace_assign_type(field, entry); 734 trace_assign_type(field, iter->ent);
748 735
749 if (!trace_seq_printf(s, "# %ld %ld %ld\n", 736 if (!trace_seq_printf(&iter->seq, "# %ld %ld %ld\n",
750 field->arg1, 737 field->arg1,
751 field->arg2, 738 field->arg2,
752 field->arg3)) 739 field->arg3))
@@ -755,12 +742,12 @@ trace_special_print(struct trace_seq *s, struct trace_entry *entry, int flags)
755 return 0; 742 return 0;
756} 743}
757 744
758static int 745static int trace_special_hex(struct trace_iterator *iter, int flags)
759trace_special_hex(struct trace_seq *s, struct trace_entry *entry, int flags)
760{ 746{
761 struct special_entry *field; 747 struct special_entry *field;
748 struct trace_seq *s = &iter->seq;
762 749
763 trace_assign_type(field, entry); 750 trace_assign_type(field, iter->ent);
764 751
765 SEQ_PUT_HEX_FIELD_RET(s, field->arg1); 752 SEQ_PUT_HEX_FIELD_RET(s, field->arg1);
766 SEQ_PUT_HEX_FIELD_RET(s, field->arg2); 753 SEQ_PUT_HEX_FIELD_RET(s, field->arg2);
@@ -769,12 +756,12 @@ trace_special_hex(struct trace_seq *s, struct trace_entry *entry, int flags)
769 return 0; 756 return 0;
770} 757}
771 758
772static int 759static int trace_special_bin(struct trace_iterator *iter, int flags)
773trace_special_bin(struct trace_seq *s, struct trace_entry *entry, int flags)
774{ 760{
775 struct special_entry *field; 761 struct special_entry *field;
762 struct trace_seq *s = &iter->seq;
776 763
777 trace_assign_type(field, entry); 764 trace_assign_type(field, iter->ent);
778 765
779 SEQ_PUT_FIELD_RET(s, field->arg1); 766 SEQ_PUT_FIELD_RET(s, field->arg1);
780 SEQ_PUT_FIELD_RET(s, field->arg2); 767 SEQ_PUT_FIELD_RET(s, field->arg2);
@@ -794,13 +781,13 @@ static struct trace_event trace_special_event = {
794 781
795/* TRACE_STACK */ 782/* TRACE_STACK */
796 783
797static int 784static int trace_stack_print(struct trace_iterator *iter, int flags)
798trace_stack_print(struct trace_seq *s, struct trace_entry *entry, int flags)
799{ 785{
800 struct stack_entry *field; 786 struct stack_entry *field;
787 struct trace_seq *s = &iter->seq;
801 int i; 788 int i;
802 789
803 trace_assign_type(field, entry); 790 trace_assign_type(field, iter->ent);
804 791
805 for (i = 0; i < FTRACE_STACK_ENTRIES; i++) { 792 for (i = 0; i < FTRACE_STACK_ENTRIES; i++) {
806 if (i) { 793 if (i) {
@@ -830,13 +817,12 @@ static struct trace_event trace_stack_event = {
830}; 817};
831 818
832/* TRACE_USER_STACK */ 819/* TRACE_USER_STACK */
833static int 820static int trace_user_stack_print(struct trace_iterator *iter, int flags)
834trace_user_stack_print(struct trace_seq *s, struct trace_entry *entry,
835 int flags)
836{ 821{
837 struct userstack_entry *field; 822 struct userstack_entry *field;
823 struct trace_seq *s = &iter->seq;
838 824
839 trace_assign_type(field, entry); 825 trace_assign_type(field, iter->ent);
840 826
841 if (!seq_print_userip_objs(field, s, flags)) 827 if (!seq_print_userip_objs(field, s, flags))
842 goto partial; 828 goto partial;
@@ -860,12 +846,12 @@ static struct trace_event trace_user_stack_event = {
860}; 846};
861 847
862/* TRACE_PRINT */ 848/* TRACE_PRINT */
863static int 849static int trace_print_print(struct trace_iterator *iter, int flags)
864trace_print_print(struct trace_seq *s, struct trace_entry *entry, int flags)
865{ 850{
866 struct print_entry *field; 851 struct print_entry *field;
852 struct trace_seq *s = &iter->seq;
867 853
868 trace_assign_type(field, entry); 854 trace_assign_type(field, iter->ent);
869 855
870 if (!seq_print_ip_sym(s, field->ip, flags)) 856 if (!seq_print_ip_sym(s, field->ip, flags))
871 goto partial; 857 goto partial;
@@ -879,14 +865,13 @@ trace_print_print(struct trace_seq *s, struct trace_entry *entry, int flags)
879 return TRACE_TYPE_PARTIAL_LINE; 865 return TRACE_TYPE_PARTIAL_LINE;
880} 866}
881 867
882static int 868static int trace_print_raw(struct trace_iterator *iter, int flags)
883trace_print_raw(struct trace_seq *s, struct trace_entry *entry, int flags)
884{ 869{
885 struct print_entry *field; 870 struct print_entry *field;
886 871
887 trace_assign_type(field, entry); 872 trace_assign_type(field, iter->ent);
888 873
889 if (!trace_seq_printf(s, "# %lx %s", field->ip, field->buf)) 874 if (!trace_seq_printf(&iter->seq, "# %lx %s", field->ip, field->buf))
890 goto partial; 875 goto partial;
891 876
892 return 0; 877 return 0;
diff --git a/kernel/trace/trace_output.h b/kernel/trace/trace_output.h
index ec2ed90f10f0..3aeb31f6506b 100644
--- a/kernel/trace/trace_output.h
+++ b/kernel/trace/trace_output.h
@@ -3,8 +3,7 @@
3 3
4#include "trace.h" 4#include "trace.h"
5 5
6typedef int (*trace_print_func)(struct trace_seq *s, struct trace_entry *entry, 6typedef int (*trace_print_func)(struct trace_iterator *iter, int flags);
7 int flags);
8 7
9struct trace_event { 8struct trace_event {
10 struct hlist_node node; 9 struct hlist_node node;
@@ -40,8 +39,7 @@ struct trace_event *ftrace_find_event(int type);
40int register_ftrace_event(struct trace_event *event); 39int register_ftrace_event(struct trace_event *event);
41int unregister_ftrace_event(struct trace_event *event); 40int unregister_ftrace_event(struct trace_event *event);
42 41
43int 42int trace_nop_print(struct trace_iterator *iter, int flags);
44trace_nop_print(struct trace_seq *s, struct trace_entry *entry, int flags);
45 43
46#define MAX_MEMHEX_BYTES 8 44#define MAX_MEMHEX_BYTES 8
47#define HEX_CHARS (MAX_MEMHEX_BYTES*2 + 1) 45#define HEX_CHARS (MAX_MEMHEX_BYTES*2 + 1)