aboutsummaryrefslogtreecommitdiff
path: root/tools/lib/subcmd/parse-options.h
diff options
context:
space:
mode:
authorIngo Molnar <mingo@kernel.org>2016-10-28 19:37:34 +0200
committerIngo Molnar <mingo@kernel.org>2016-10-28 19:37:34 +0200
commit91a79e5fa696fa626bfbd47f827eaf3eb7d76dc5 (patch)
tree4a9c4582fa25b2d59d0b8a67516d28b0f8da1776 /tools/lib/subcmd/parse-options.h
parent76e2d2617d767c445498c4c4b1162eb2201cdd77 (diff)
parent46cb25b1a0ee74bf4a79cfb3081ae3567b2f7135 (diff)
Merge tag 'perf-core-for-mingo-20161028' of git://git.kernel.org/pub/scm/linux/kernel/git/acme/linux into perf/core
perf/core improvements and fixes from Arnaldo Carvalho de Melo: New features: - Support matching by topic in 'perf list' (Andi Kleen) User visible: - Apply cpu color only when there was activity in 'perf sched map' (Namhyung Kim) - Always show the task's COMM in 'perf sched map -v' (Namhyung Kim) - Fix hierarchy column counts in the perf hist browser (top, report), avoiding showing nothing after pressing the RIGHT key a number of times (Namhyung Kim) Infrastructure: - Support cascading options in libsubcmd and use it to share common options in 'perf sched' subcommands (Namhyung Kim) - Avoid worker cacheline bouncing in 'perf bench futex' (Davidlohr Bueso) - Sanitize numeric parameters in 'perf bench futex' (Davidlohr Bueso) - Update copies of kernel files (Arnaldo Carvalho de Melo) - Fix scripting (perl, python) setup to avoid leaks (Arnaldo Carvalho de Melo) - Add missing object file to the python binding linkage list (Arnaldo Carvalho de Melo) Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com> Signed-off-by: Ingo Molnar <mingo@kernel.org>
Diffstat (limited to 'tools/lib/subcmd/parse-options.h')
-rw-r--r--tools/lib/subcmd/parse-options.h2
1 files changed, 2 insertions, 0 deletions
diff --git a/tools/lib/subcmd/parse-options.h b/tools/lib/subcmd/parse-options.h
index d60cab2726da..8866ac438b34 100644
--- a/tools/lib/subcmd/parse-options.h
+++ b/tools/lib/subcmd/parse-options.h
@@ -109,11 +109,13 @@ struct option {
intptr_t defval;
bool *set;
void *data;
+ const struct option *parent;
};
#define check_vtype(v, type) ( BUILD_BUG_ON_ZERO(!__builtin_types_compatible_p(typeof(v), type)) + v )
#define OPT_END() { .type = OPTION_END }
+#define OPT_PARENT(p) { .type = OPTION_END, .parent = (p) }
#define OPT_ARGUMENT(l, h) { .type = OPTION_ARGUMENT, .long_name = (l), .help = (h) }
#define OPT_GROUP(h) { .type = OPTION_GROUP, .help = (h) }
#define OPT_BIT(s, l, v, h, b) { .type = OPTION_BIT, .short_name = (s), .long_name = (l), .value = check_vtype(v, int *), .help = (h), .defval = (b) }