Skip to content

Commit

Permalink
tracing/ftrace: adapt mmiotrace to the new type of print_line
Browse files Browse the repository at this point in the history
Adapt mmiotrace to the new print_line type.
By default, it ignores (and consumes) types it doesn't support.

Signed-off-by: Frederic Weisbecker <fweisbec@gmail.com>
Acked-by: Pekka Paalanen <pq@iki.fi>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
  • Loading branch information
Frederic Weisbecker authored and Ingo Molnar committed Oct 14, 2008
1 parent 9ff4b97 commit 07f4e4f
Showing 1 changed file with 12 additions and 13 deletions.
25 changes: 12 additions & 13 deletions kernel/trace/trace_mmiotrace.c
Original file line number Diff line number Diff line change
Expand Up @@ -175,7 +175,7 @@ static ssize_t mmio_read(struct trace_iterator *iter, struct file *filp,
return (ret == -EBUSY) ? 0 : ret;
}

static int mmio_print_rw(struct trace_iterator *iter)
static enum print_line_t mmio_print_rw(struct trace_iterator *iter)
{
struct trace_entry *entry = iter->ent;
struct trace_mmiotrace_rw *field =
Expand Down Expand Up @@ -215,19 +215,19 @@ static int mmio_print_rw(struct trace_iterator *iter)
break;
}
if (ret)
return 1;
return 0;
return TRACE_TYPE_HANDLED;
return TRACE_TYPE_PARTIAL_LINE;
}

static int mmio_print_map(struct trace_iterator *iter)
static enum print_line_t mmio_print_map(struct trace_iterator *iter)
{
struct trace_entry *entry = iter->ent;
struct mmiotrace_map *m = (struct mmiotrace_map *)entry;
struct trace_seq *s = &iter->seq;
unsigned long long t = ns2usecs(iter->ts);
unsigned long usec_rem = do_div(t, 1000000ULL);
unsigned secs = (unsigned long)t;
int ret = 1;
int ret;

switch (m->opcode) {
case MMIO_PROBE:
Expand All @@ -247,11 +247,11 @@ static int mmio_print_map(struct trace_iterator *iter)
break;
}
if (ret)
return 1;
return 0;
return TRACE_TYPE_HANDLED;
return TRACE_TYPE_PARTIAL_LINE;
}

static int mmio_print_mark(struct trace_iterator *iter)
static enum print_line_t mmio_print_mark(struct trace_iterator *iter)
{
struct trace_entry *entry = iter->ent;
struct print_entry *print = (struct print_entry *)entry;
Expand All @@ -265,16 +265,15 @@ static int mmio_print_mark(struct trace_iterator *iter)
/* The trailing newline must be in the message. */
ret = trace_seq_printf(s, "MARK %lu.%06lu %s", secs, usec_rem, msg);
if (!ret)
return 0;
return TRACE_TYPE_PARTIAL_LINE;

if (entry->flags & TRACE_FLAG_CONT)
trace_seq_print_cont(s, iter);

return 1;
return TRACE_TYPE_HANDLED;
}

/* return 0 to abort printing without consuming current entry in pipe mode */
static int mmio_print_line(struct trace_iterator *iter)
static enum print_line_t mmio_print_line(struct trace_iterator *iter)
{
switch (iter->ent->type) {
case TRACE_MMIO_RW:
Expand All @@ -284,7 +283,7 @@ static int mmio_print_line(struct trace_iterator *iter)
case TRACE_PRINT:
return mmio_print_mark(iter);
default:
return 1; /* ignore unknown entries */
return TRACE_TYPE_HANDLED; /* ignore unknown entries */
}
}

Expand Down

0 comments on commit 07f4e4f

Please sign in to comment.