Commit b295c3e3 authored by Sakari Ailus's avatar Sakari Ailus Committed by Arnaldo Carvalho de Melo

tools lib traceevent: Convert remaining %p[fF] users to %p[sS]

There are no in-kernel %p[fF] users left. Convert the traceevent tool,
too, to align with the kernel.
Signed-off-by: default avatarSakari Ailus <sakari.ailus@linux.intel.com>
Cc: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
Cc: devicetree@vger.kernel.org
Cc: Heikki Krogerus <heikki.krogerus@linux.intel.com>
Cc: Jiri Olsa <jolsa@redhat.com>
Cc: Joe Perches <joe@perches.com>
Cc: linux-acpi@vger.kernel.org
Cc: linux-trace-devel@vger.kernel.org
Cc: Namhyung Kim <namhyung@kernel.org>
Cc: Petr Mladek <pmladek@suse.com>
Cc: Rafael J. Wysocki <rafael@kernel.org>
Cc: Rob Herring <robh@kernel.org>
Cc: Steven Rostedt (VMware) <rostedt@goodmis.org>
Cc: Tzvetomir Stoyanov <tstoyanov@vmware.com>
Link: http://lore.kernel.org/lkml/20190918133419.7969-2-sakari.ailus@linux.intel.comSigned-off-by: default avatarArnaldo Carvalho de Melo <acme@redhat.com>
parent 055c67ed
...@@ -59,12 +59,12 @@ parser context. ...@@ -59,12 +59,12 @@ parser context.
The _tep_register_function()_ function registers a function name mapped to an The _tep_register_function()_ function registers a function name mapped to an
address and (optional) module. This mapping is used in case the function tracer address and (optional) module. This mapping is used in case the function tracer
or events have "%pF" or "%pS" parameter in its format string. It is common to or events have "%pS" parameter in its format string. It is common to pass in
pass in the kallsyms function names with their corresponding addresses with this the kallsyms function names with their corresponding addresses with this
function. The _tep_ argument is the trace event parser context. The _name_ is function. The _tep_ argument is the trace event parser context. The _name_ is
the name of the function, the string is copied internally. The _addr_ is the name of the function, the string is copied internally. The _addr_ is the
the start address of the function. The _mod_ is the kernel module start address of the function. The _mod_ is the kernel module the function may
the function may be in (NULL for none). be in (NULL for none).
The _tep_register_print_string()_ function registers a string by the address The _tep_register_print_string()_ function registers a string by the address
it was stored in the kernel. Some strings internal to the kernel with static it was stored in the kernel. Some strings internal to the kernel with static
......
...@@ -4367,10 +4367,20 @@ static struct tep_print_arg *make_bprint_args(char *fmt, void *data, int size, s ...@@ -4367,10 +4367,20 @@ static struct tep_print_arg *make_bprint_args(char *fmt, void *data, int size, s
switch (*ptr) { switch (*ptr) {
case 's': case 's':
case 'S': case 'S':
case 'f':
case 'F':
case 'x': case 'x':
break; break;
case 'f':
case 'F':
/*
* Pre-5.5 kernels use %pf and
* %pF for printing symbols
* while kernels since 5.5 use
* %pfw for fwnodes. So check
* %p[fF] isn't followed by 'w'.
*/
if (ptr[1] != 'w')
break;
/* fall through */
default: default:
/* /*
* Older kernels do not process * Older kernels do not process
...@@ -4487,12 +4497,12 @@ get_bprint_format(void *data, int size __maybe_unused, ...@@ -4487,12 +4497,12 @@ get_bprint_format(void *data, int size __maybe_unused,
printk = find_printk(tep, addr); printk = find_printk(tep, addr);
if (!printk) { if (!printk) {
if (asprintf(&format, "%%pf: (NO FORMAT FOUND at %llx)\n", addr) < 0) if (asprintf(&format, "%%ps: (NO FORMAT FOUND at %llx)\n", addr) < 0)
return NULL; return NULL;
return format; return format;
} }
if (asprintf(&format, "%s: %s", "%pf", printk->printk) < 0) if (asprintf(&format, "%s: %s", "%ps", printk->printk) < 0)
return NULL; return NULL;
return format; return format;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment