Merge remote-tracking branch 'torvalds/master' into perf/core
[linux-2.6-microblaze.git] / tools / perf / builtin-probe.c
index 6b15075..2bfd41d 100644 (file)
@@ -347,7 +347,10 @@ static int perf_add_probe_events(struct perf_probe_event *pevs, int npevs)
                goto out_cleanup;
 
        if (params.command == 'D') {    /* it shows definition */
-               ret = show_probe_trace_events(pevs, npevs);
+               if (probe_conf.bootconfig)
+                       ret = show_bootconfig_events(pevs, npevs);
+               else
+                       ret = show_probe_trace_events(pevs, npevs);
                goto out_cleanup;
        }
 
@@ -581,6 +584,8 @@ __cmd_probe(int argc, const char **argv)
                   "Look for files with symbols relative to this directory"),
        OPT_CALLBACK(0, "target-ns", NULL, "pid",
                     "target pid for namespace contexts", opt_set_target_ns),
+       OPT_BOOLEAN(0, "bootconfig", &probe_conf.bootconfig,
+                   "Output probe definition with bootconfig format"),
        OPT_END()
        };
        int ret;
@@ -692,6 +697,11 @@ __cmd_probe(int argc, const char **argv)
                }
                break;
        case 'D':
+               if (probe_conf.bootconfig && params.uprobes) {
+                       pr_err("  Error: --bootconfig doesn't support uprobes.\n");
+                       return -EINVAL;
+               }
+               __fallthrough;
        case 'a':
 
                /* Ensure the last given target is used */