aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--tools/perf/bench/mem-memcpy.c2
-rw-r--r--tools/perf/bench/sched-messaging.c4
-rw-r--r--tools/perf/builtin-annotate.c8
-rw-r--r--tools/perf/builtin-buildid-cache.c2
-rw-r--r--tools/perf/builtin-buildid-list.c4
-rw-r--r--tools/perf/builtin-diff.c4
-rw-r--r--tools/perf/builtin-help.c2
-rw-r--r--tools/perf/builtin-lock.c2
-rw-r--r--tools/perf/builtin-probe.c2
-rw-r--r--tools/perf/builtin-record.c24
-rw-r--r--tools/perf/builtin-report.c6
-rw-r--r--tools/perf/builtin-sched.c6
-rw-r--r--tools/perf/builtin-stat.c10
-rw-r--r--tools/perf/builtin-timechart.c2
-rw-r--r--tools/perf/builtin-top.c14
-rw-r--r--tools/perf/builtin-trace.c2
-rw-r--r--tools/perf/util/debug.c2
-rw-r--r--tools/perf/util/debug.h3
-rw-r--r--tools/perf/util/parse-options.c6
-rw-r--r--tools/perf/util/parse-options.h4
-rw-r--r--tools/perf/util/trace-event-parse.c2
-rw-r--r--tools/perf/util/trace-event.h3
22 files changed, 62 insertions, 52 deletions
diff --git a/tools/perf/bench/mem-memcpy.c b/tools/perf/bench/mem-memcpy.c
index 52e646e3e873..38dae7465142 100644
--- a/tools/perf/bench/mem-memcpy.c
+++ b/tools/perf/bench/mem-memcpy.c
@@ -23,7 +23,7 @@
23 23
24static const char *length_str = "1MB"; 24static const char *length_str = "1MB";
25static const char *routine = "default"; 25static const char *routine = "default";
26static int use_clock = 0; 26static bool use_clock = false;
27static int clock_fd; 27static int clock_fd;
28 28
29static const struct option options[] = { 29static const struct option options[] = {
diff --git a/tools/perf/bench/sched-messaging.c b/tools/perf/bench/sched-messaging.c
index 81cee78181fa..da1b2e9f01ff 100644
--- a/tools/perf/bench/sched-messaging.c
+++ b/tools/perf/bench/sched-messaging.c
@@ -31,9 +31,9 @@
31 31
32#define DATASIZE 100 32#define DATASIZE 100
33 33
34static int use_pipes = 0; 34static bool use_pipes = false;
35static unsigned int loops = 100; 35static unsigned int loops = 100;
36static unsigned int thread_mode = 0; 36static bool thread_mode = false;
37static unsigned int num_groups = 10; 37static unsigned int num_groups = 10;
38 38
39struct sender_context { 39struct sender_context {
diff --git a/tools/perf/builtin-annotate.c b/tools/perf/builtin-annotate.c
index ee0d91726991..06eaebe10d04 100644
--- a/tools/perf/builtin-annotate.c
+++ b/tools/perf/builtin-annotate.c
@@ -28,11 +28,11 @@
28 28
29static char const *input_name = "perf.data"; 29static char const *input_name = "perf.data";
30 30
31static int force; 31static bool force;
32 32
33static int full_paths; 33static bool full_paths;
34 34
35static int print_line; 35static bool print_line;
36 36
37struct sym_hist { 37struct sym_hist {
38 u64 sum; 38 u64 sum;
@@ -595,7 +595,7 @@ static const struct option options[] = {
595 OPT_STRING('s', "symbol", &sym_hist_filter, "symbol", 595 OPT_STRING('s', "symbol", &sym_hist_filter, "symbol",
596 "symbol to annotate"), 596 "symbol to annotate"),
597 OPT_BOOLEAN('f', "force", &force, "don't complain, do it"), 597 OPT_BOOLEAN('f', "force", &force, "don't complain, do it"),
598 OPT_BOOLEAN('v', "verbose", &verbose, 598 OPT_INCR('v', "verbose", &verbose,
599 "be more verbose (show symbol address, etc)"), 599 "be more verbose (show symbol address, etc)"),
600 OPT_BOOLEAN('D', "dump-raw-trace", &dump_trace, 600 OPT_BOOLEAN('D', "dump-raw-trace", &dump_trace,
601 "dump raw trace in ASCII"), 601 "dump raw trace in ASCII"),
diff --git a/tools/perf/builtin-buildid-cache.c b/tools/perf/builtin-buildid-cache.c
index 30a05f552c96..f8e3d1852029 100644
--- a/tools/perf/builtin-buildid-cache.c
+++ b/tools/perf/builtin-buildid-cache.c
@@ -27,7 +27,7 @@ static const struct option buildid_cache_options[] = {
27 "file list", "file(s) to add"), 27 "file list", "file(s) to add"),
28 OPT_STRING('r', "remove", &remove_name_list_str, "file list", 28 OPT_STRING('r', "remove", &remove_name_list_str, "file list",
29 "file(s) to remove"), 29 "file(s) to remove"),
30 OPT_BOOLEAN('v', "verbose", &verbose, "be more verbose"), 30 OPT_INCR('v', "verbose", &verbose, "be more verbose"),
31 OPT_END() 31 OPT_END()
32}; 32};
33 33
diff --git a/tools/perf/builtin-buildid-list.c b/tools/perf/builtin-buildid-list.c
index d0675c02f81e..af2ad8b92f76 100644
--- a/tools/perf/builtin-buildid-list.c
+++ b/tools/perf/builtin-buildid-list.c
@@ -16,7 +16,7 @@
16#include "util/symbol.h" 16#include "util/symbol.h"
17 17
18static char const *input_name = "perf.data"; 18static char const *input_name = "perf.data";
19static int force; 19static bool force;
20static bool with_hits; 20static bool with_hits;
21 21
22static const char * const buildid_list_usage[] = { 22static const char * const buildid_list_usage[] = {
@@ -29,7 +29,7 @@ static const struct option options[] = {
29 OPT_STRING('i', "input", &input_name, "file", 29 OPT_STRING('i', "input", &input_name, "file",
30 "input file name"), 30 "input file name"),
31 OPT_BOOLEAN('f', "force", &force, "don't complain, do it"), 31 OPT_BOOLEAN('f', "force", &force, "don't complain, do it"),
32 OPT_BOOLEAN('v', "verbose", &verbose, 32 OPT_INCR('v', "verbose", &verbose,
33 "be more verbose"), 33 "be more verbose"),
34 OPT_END() 34 OPT_END()
35}; 35};
diff --git a/tools/perf/builtin-diff.c b/tools/perf/builtin-diff.c
index 1ea15d8aeed1..3a1d94d75dce 100644
--- a/tools/perf/builtin-diff.c
+++ b/tools/perf/builtin-diff.c
@@ -19,7 +19,7 @@
19static char const *input_old = "perf.data.old", 19static char const *input_old = "perf.data.old",
20 *input_new = "perf.data"; 20 *input_new = "perf.data";
21static char diff__default_sort_order[] = "dso,symbol"; 21static char diff__default_sort_order[] = "dso,symbol";
22static int force; 22static bool force;
23static bool show_displacement; 23static bool show_displacement;
24 24
25static int perf_session__add_hist_entry(struct perf_session *self, 25static int perf_session__add_hist_entry(struct perf_session *self,
@@ -188,7 +188,7 @@ static const char * const diff_usage[] = {
188}; 188};
189 189
190static const struct option options[] = { 190static const struct option options[] = {
191 OPT_BOOLEAN('v', "verbose", &verbose, 191 OPT_INCR('v', "verbose", &verbose,
192 "be more verbose (show symbol address, etc)"), 192 "be more verbose (show symbol address, etc)"),
193 OPT_BOOLEAN('m', "displacement", &show_displacement, 193 OPT_BOOLEAN('m', "displacement", &show_displacement,
194 "Show position displacement relative to baseline"), 194 "Show position displacement relative to baseline"),
diff --git a/tools/perf/builtin-help.c b/tools/perf/builtin-help.c
index 215b584007b1..81e3ecc40fc7 100644
--- a/tools/perf/builtin-help.c
+++ b/tools/perf/builtin-help.c
@@ -29,7 +29,7 @@ enum help_format {
29 HELP_FORMAT_WEB, 29 HELP_FORMAT_WEB,
30}; 30};
31 31
32static int show_all = 0; 32static bool show_all = false;
33static enum help_format help_format = HELP_FORMAT_MAN; 33static enum help_format help_format = HELP_FORMAT_MAN;
34static struct option builtin_help_options[] = { 34static struct option builtin_help_options[] = {
35 OPT_BOOLEAN('a', "all", &show_all, "print all available commands"), 35 OPT_BOOLEAN('a', "all", &show_all, "print all available commands"),
diff --git a/tools/perf/builtin-lock.c b/tools/perf/builtin-lock.c
index e12c844df1e2..6c38e4febf9f 100644
--- a/tools/perf/builtin-lock.c
+++ b/tools/perf/builtin-lock.c
@@ -744,7 +744,7 @@ static const char * const lock_usage[] = {
744 744
745static const struct option lock_options[] = { 745static const struct option lock_options[] = {
746 OPT_STRING('i', "input", &input_name, "file", "input file name"), 746 OPT_STRING('i', "input", &input_name, "file", "input file name"),
747 OPT_BOOLEAN('v', "verbose", &verbose, "be more verbose (show symbol address, etc)"), 747 OPT_INCR('v', "verbose", &verbose, "be more verbose (show symbol address, etc)"),
748 OPT_BOOLEAN('D', "dump-raw-trace", &dump_trace, "dump raw trace in ASCII"), 748 OPT_BOOLEAN('D', "dump-raw-trace", &dump_trace, "dump raw trace in ASCII"),
749 OPT_END() 749 OPT_END()
750}; 750};
diff --git a/tools/perf/builtin-probe.c b/tools/perf/builtin-probe.c
index b3ba25a910fa..bfc47fff9c59 100644
--- a/tools/perf/builtin-probe.c
+++ b/tools/perf/builtin-probe.c
@@ -133,7 +133,7 @@ static const char * const probe_usage[] = {
133}; 133};
134 134
135static const struct option options[] = { 135static const struct option options[] = {
136 OPT_BOOLEAN('v', "verbose", &verbose, 136 OPT_INCR('v', "verbose", &verbose,
137 "be more verbose (show parsed arguments, etc)"), 137 "be more verbose (show parsed arguments, etc)"),
138 OPT_BOOLEAN('l', "list", &params.list_events, 138 OPT_BOOLEAN('l', "list", &params.list_events,
139 "list up current probe events"), 139 "list up current probe events"),
diff --git a/tools/perf/builtin-record.c b/tools/perf/builtin-record.c
index dc61f1b68b40..9a9513687235 100644
--- a/tools/perf/builtin-record.c
+++ b/tools/perf/builtin-record.c
@@ -38,22 +38,22 @@ static int output;
38static const char *output_name = "perf.data"; 38static const char *output_name = "perf.data";
39static int group = 0; 39static int group = 0;
40static unsigned int realtime_prio = 0; 40static unsigned int realtime_prio = 0;
41static int raw_samples = 0; 41static bool raw_samples = false;
42static int system_wide = 0; 42static bool system_wide = false;
43static int profile_cpu = -1; 43static int profile_cpu = -1;
44static pid_t target_pid = -1; 44static pid_t target_pid = -1;
45static pid_t target_tid = -1; 45static pid_t target_tid = -1;
46static pid_t *all_tids = NULL; 46static pid_t *all_tids = NULL;
47static int thread_num = 0; 47static int thread_num = 0;
48static pid_t child_pid = -1; 48static pid_t child_pid = -1;
49static int inherit = 1; 49static bool inherit = true;
50static int force = 0; 50static bool force = false;
51static int append_file = 0; 51static bool append_file = false;
52static int call_graph = 0; 52static bool call_graph = false;
53static int inherit_stat = 0; 53static bool inherit_stat = false;
54static int no_samples = 0; 54static bool no_samples = false;
55static int sample_address = 0; 55static bool sample_address = false;
56static int multiplex = 0; 56static bool multiplex = false;
57static int multiplex_fd = -1; 57static int multiplex_fd = -1;
58 58
59static long samples = 0; 59static long samples = 0;
@@ -465,7 +465,7 @@ static int __cmd_record(int argc, const char **argv)
465 rename(output_name, oldname); 465 rename(output_name, oldname);
466 } 466 }
467 } else { 467 } else {
468 append_file = 0; 468 append_file = false;
469 } 469 }
470 470
471 flags = O_CREAT|O_RDWR; 471 flags = O_CREAT|O_RDWR;
@@ -701,7 +701,7 @@ static const struct option options[] = {
701 "number of mmap data pages"), 701 "number of mmap data pages"),
702 OPT_BOOLEAN('g', "call-graph", &call_graph, 702 OPT_BOOLEAN('g', "call-graph", &call_graph,
703 "do call-graph (stack chain/backtrace) recording"), 703 "do call-graph (stack chain/backtrace) recording"),
704 OPT_BOOLEAN('v', "verbose", &verbose, 704 OPT_INCR('v', "verbose", &verbose,
705 "be more verbose (show counter open errors, etc)"), 705 "be more verbose (show counter open errors, etc)"),
706 OPT_BOOLEAN('s', "stat", &inherit_stat, 706 OPT_BOOLEAN('s', "stat", &inherit_stat,
707 "per thread counts"), 707 "per thread counts"),
diff --git a/tools/perf/builtin-report.c b/tools/perf/builtin-report.c
index e93c69a8e720..daee082ab42b 100644
--- a/tools/perf/builtin-report.c
+++ b/tools/perf/builtin-report.c
@@ -32,11 +32,11 @@
32 32
33static char const *input_name = "perf.data"; 33static char const *input_name = "perf.data";
34 34
35static int force; 35static bool force;
36static bool hide_unresolved; 36static bool hide_unresolved;
37static bool dont_use_callchains; 37static bool dont_use_callchains;
38 38
39static int show_threads; 39static bool show_threads;
40static struct perf_read_values show_threads_values; 40static struct perf_read_values show_threads_values;
41 41
42static char default_pretty_printing_style[] = "normal"; 42static char default_pretty_printing_style[] = "normal";
@@ -418,7 +418,7 @@ static const char * const report_usage[] = {
418static const struct option options[] = { 418static const struct option options[] = {
419 OPT_STRING('i', "input", &input_name, "file", 419 OPT_STRING('i', "input", &input_name, "file",
420 "input file name"), 420 "input file name"),
421 OPT_BOOLEAN('v', "verbose", &verbose, 421 OPT_INCR('v', "verbose", &verbose,
422 "be more verbose (show symbol address, etc)"), 422 "be more verbose (show symbol address, etc)"),
423 OPT_BOOLEAN('D', "dump-raw-trace", &dump_trace, 423 OPT_BOOLEAN('D', "dump-raw-trace", &dump_trace,
424 "dump raw trace in ASCII"), 424 "dump raw trace in ASCII"),
diff --git a/tools/perf/builtin-sched.c b/tools/perf/builtin-sched.c
index 5e59c0c40c40..09ddc8e6d8e1 100644
--- a/tools/perf/builtin-sched.c
+++ b/tools/perf/builtin-sched.c
@@ -1790,7 +1790,7 @@ static const char * const sched_usage[] = {
1790static const struct option sched_options[] = { 1790static const struct option sched_options[] = {
1791 OPT_STRING('i', "input", &input_name, "file", 1791 OPT_STRING('i', "input", &input_name, "file",
1792 "input file name"), 1792 "input file name"),
1793 OPT_BOOLEAN('v', "verbose", &verbose, 1793 OPT_INCR('v', "verbose", &verbose,
1794 "be more verbose (show symbol address, etc)"), 1794 "be more verbose (show symbol address, etc)"),
1795 OPT_BOOLEAN('D', "dump-raw-trace", &dump_trace, 1795 OPT_BOOLEAN('D', "dump-raw-trace", &dump_trace,
1796 "dump raw trace in ASCII"), 1796 "dump raw trace in ASCII"),
@@ -1805,7 +1805,7 @@ static const char * const latency_usage[] = {
1805static const struct option latency_options[] = { 1805static const struct option latency_options[] = {
1806 OPT_STRING('s', "sort", &sort_order, "key[,key2...]", 1806 OPT_STRING('s', "sort", &sort_order, "key[,key2...]",
1807 "sort by key(s): runtime, switch, avg, max"), 1807 "sort by key(s): runtime, switch, avg, max"),
1808 OPT_BOOLEAN('v', "verbose", &verbose, 1808 OPT_INCR('v', "verbose", &verbose,
1809 "be more verbose (show symbol address, etc)"), 1809 "be more verbose (show symbol address, etc)"),
1810 OPT_INTEGER('C', "CPU", &profile_cpu, 1810 OPT_INTEGER('C', "CPU", &profile_cpu,
1811 "CPU to profile on"), 1811 "CPU to profile on"),
@@ -1822,7 +1822,7 @@ static const char * const replay_usage[] = {
1822static const struct option replay_options[] = { 1822static const struct option replay_options[] = {
1823 OPT_INTEGER('r', "repeat", &replay_repeat, 1823 OPT_INTEGER('r', "repeat", &replay_repeat,
1824 "repeat the workload replay N times (-1: infinite)"), 1824 "repeat the workload replay N times (-1: infinite)"),
1825 OPT_BOOLEAN('v', "verbose", &verbose, 1825 OPT_INCR('v', "verbose", &verbose,
1826 "be more verbose (show symbol address, etc)"), 1826 "be more verbose (show symbol address, etc)"),
1827 OPT_BOOLEAN('D', "dump-raw-trace", &dump_trace, 1827 OPT_BOOLEAN('D', "dump-raw-trace", &dump_trace,
1828 "dump raw trace in ASCII"), 1828 "dump raw trace in ASCII"),
diff --git a/tools/perf/builtin-stat.c b/tools/perf/builtin-stat.c
index 1036ca739e6f..e619ac89dff5 100644
--- a/tools/perf/builtin-stat.c
+++ b/tools/perf/builtin-stat.c
@@ -67,19 +67,19 @@ static struct perf_event_attr default_attrs[] = {
67 67
68}; 68};
69 69
70static int system_wide = 0; 70static bool system_wide = false;
71static unsigned int nr_cpus = 0; 71static unsigned int nr_cpus = 0;
72static int run_idx = 0; 72static int run_idx = 0;
73 73
74static int run_count = 1; 74static int run_count = 1;
75static int inherit = 1; 75static bool inherit = true;
76static int scale = 1; 76static bool scale = true;
77static pid_t target_pid = -1; 77static pid_t target_pid = -1;
78static pid_t target_tid = -1; 78static pid_t target_tid = -1;
79static pid_t *all_tids = NULL; 79static pid_t *all_tids = NULL;
80static int thread_num = 0; 80static int thread_num = 0;
81static pid_t child_pid = -1; 81static pid_t child_pid = -1;
82static int null_run = 0; 82static bool null_run = false;
83 83
84static int *fd[MAX_NR_CPUS][MAX_COUNTERS]; 84static int *fd[MAX_NR_CPUS][MAX_COUNTERS];
85 85
@@ -528,7 +528,7 @@ static const struct option options[] = {
528 "system-wide collection from all CPUs"), 528 "system-wide collection from all CPUs"),
529 OPT_BOOLEAN('c', "scale", &scale, 529 OPT_BOOLEAN('c', "scale", &scale,
530 "scale/normalize counters"), 530 "scale/normalize counters"),
531 OPT_BOOLEAN('v', "verbose", &verbose, 531 OPT_INCR('v', "verbose", &verbose,
532 "be more verbose (show counter open errors, etc)"), 532 "be more verbose (show counter open errors, etc)"),
533 OPT_INTEGER('r', "repeat", &run_count, 533 OPT_INTEGER('r', "repeat", &run_count,
534 "repeat command and print average + stddev (max: 100)"), 534 "repeat command and print average + stddev (max: 100)"),
diff --git a/tools/perf/builtin-timechart.c b/tools/perf/builtin-timechart.c
index 369c1b490a9e..96f4a092df37 100644
--- a/tools/perf/builtin-timechart.c
+++ b/tools/perf/builtin-timechart.c
@@ -42,7 +42,7 @@ static u64 turbo_frequency;
42 42
43static u64 first_time, last_time; 43static u64 first_time, last_time;
44 44
45static int power_only; 45static bool power_only;
46 46
47 47
48struct per_pid; 48struct per_pid;
diff --git a/tools/perf/builtin-top.c b/tools/perf/builtin-top.c
index 4abdd9b646b3..40f24dd46ef4 100644
--- a/tools/perf/builtin-top.c
+++ b/tools/perf/builtin-top.c
@@ -57,7 +57,7 @@
57 57
58static int *fd[MAX_NR_CPUS][MAX_COUNTERS]; 58static int *fd[MAX_NR_CPUS][MAX_COUNTERS];
59 59
60static int system_wide = 0; 60static bool system_wide = false;
61 61
62static int default_interval = 0; 62static int default_interval = 0;
63 63
@@ -68,18 +68,18 @@ static int target_pid = -1;
68static int target_tid = -1; 68static int target_tid = -1;
69static pid_t *all_tids = NULL; 69static pid_t *all_tids = NULL;
70static int thread_num = 0; 70static int thread_num = 0;
71static int inherit = 0; 71static bool inherit = false;
72static int profile_cpu = -1; 72static int profile_cpu = -1;
73static int nr_cpus = 0; 73static int nr_cpus = 0;
74static unsigned int realtime_prio = 0; 74static unsigned int realtime_prio = 0;
75static int group = 0; 75static bool group = false;
76static unsigned int page_size; 76static unsigned int page_size;
77static unsigned int mmap_pages = 16; 77static unsigned int mmap_pages = 16;
78static int freq = 1000; /* 1 KHz */ 78static int freq = 1000; /* 1 KHz */
79 79
80static int delay_secs = 2; 80static int delay_secs = 2;
81static int zero = 0; 81static bool zero = false;
82static int dump_symtab = 0; 82static bool dump_symtab = false;
83 83
84static bool hide_kernel_symbols = false; 84static bool hide_kernel_symbols = false;
85static bool hide_user_symbols = false; 85static bool hide_user_symbols = false;
@@ -854,7 +854,7 @@ static void handle_keypress(int c)
854 display_weighted = ~display_weighted; 854 display_weighted = ~display_weighted;
855 break; 855 break;
856 case 'z': 856 case 'z':
857 zero = ~zero; 857 zero = !zero;
858 break; 858 break;
859 default: 859 default:
860 break; 860 break;
@@ -1335,7 +1335,7 @@ static const struct option options[] = {
1335 "display this many functions"), 1335 "display this many functions"),
1336 OPT_BOOLEAN('U', "hide_user_symbols", &hide_user_symbols, 1336 OPT_BOOLEAN('U', "hide_user_symbols", &hide_user_symbols,
1337 "hide user symbols"), 1337 "hide user symbols"),
1338 OPT_BOOLEAN('v', "verbose", &verbose, 1338 OPT_INCR('v', "verbose", &verbose,
1339 "be more verbose (show counter open errors, etc)"), 1339 "be more verbose (show counter open errors, etc)"),
1340 OPT_END() 1340 OPT_END()
1341}; 1341};
diff --git a/tools/perf/builtin-trace.c b/tools/perf/builtin-trace.c
index 407041d20de0..8fc50d831540 100644
--- a/tools/perf/builtin-trace.c
+++ b/tools/perf/builtin-trace.c
@@ -505,7 +505,7 @@ static const char * const trace_usage[] = {
505static const struct option options[] = { 505static const struct option options[] = {
506 OPT_BOOLEAN('D', "dump-raw-trace", &dump_trace, 506 OPT_BOOLEAN('D', "dump-raw-trace", &dump_trace,
507 "dump raw trace in ASCII"), 507 "dump raw trace in ASCII"),
508 OPT_BOOLEAN('v', "verbose", &verbose, 508 OPT_INCR('v', "verbose", &verbose,
509 "be more verbose (show symbol address, etc)"), 509 "be more verbose (show symbol address, etc)"),
510 OPT_BOOLEAN('L', "Latency", &latency_format, 510 OPT_BOOLEAN('L', "Latency", &latency_format,
511 "show latency attributes (irqs/preemption disabled, etc)"), 511 "show latency attributes (irqs/preemption disabled, etc)"),
diff --git a/tools/perf/util/debug.c b/tools/perf/util/debug.c
index 033d66db863a..dd824cf3b628 100644
--- a/tools/perf/util/debug.c
+++ b/tools/perf/util/debug.c
@@ -13,7 +13,7 @@
13#include "util.h" 13#include "util.h"
14 14
15int verbose = 0; 15int verbose = 0;
16int dump_trace = 0; 16bool dump_trace = false;
17 17
18int eprintf(int level, const char *fmt, ...) 18int eprintf(int level, const char *fmt, ...)
19{ 19{
diff --git a/tools/perf/util/debug.h b/tools/perf/util/debug.h
index 5cb0a1b1401a..047ac3324ebe 100644
--- a/tools/perf/util/debug.h
+++ b/tools/perf/util/debug.h
@@ -2,10 +2,11 @@
2#ifndef __PERF_DEBUG_H 2#ifndef __PERF_DEBUG_H
3#define __PERF_DEBUG_H 3#define __PERF_DEBUG_H
4 4
5#include <stdbool.h>
5#include "event.h" 6#include "event.h"
6 7
7extern int verbose; 8extern int verbose;
8extern int dump_trace; 9extern bool dump_trace;
9 10
10int dump_printf(const char *fmt, ...) __attribute__((format(printf, 1, 2))); 11int dump_printf(const char *fmt, ...) __attribute__((format(printf, 1, 2)));
11void trace_event(event_t *event); 12void trace_event(event_t *event);
diff --git a/tools/perf/util/parse-options.c b/tools/perf/util/parse-options.c
index 79dfa0c34b3c..ed887642460c 100644
--- a/tools/perf/util/parse-options.c
+++ b/tools/perf/util/parse-options.c
@@ -49,6 +49,7 @@ static int get_value(struct parse_opt_ctx_t *p,
49 break; 49 break;
50 /* FALLTHROUGH */ 50 /* FALLTHROUGH */
51 case OPTION_BOOLEAN: 51 case OPTION_BOOLEAN:
52 case OPTION_INCR:
52 case OPTION_BIT: 53 case OPTION_BIT:
53 case OPTION_SET_INT: 54 case OPTION_SET_INT:
54 case OPTION_SET_PTR: 55 case OPTION_SET_PTR:
@@ -73,6 +74,10 @@ static int get_value(struct parse_opt_ctx_t *p,
73 return 0; 74 return 0;
74 75
75 case OPTION_BOOLEAN: 76 case OPTION_BOOLEAN:
77 *(bool *)opt->value = unset ? false : true;
78 return 0;
79
80 case OPTION_INCR:
76 *(int *)opt->value = unset ? 0 : *(int *)opt->value + 1; 81 *(int *)opt->value = unset ? 0 : *(int *)opt->value + 1;
77 return 0; 82 return 0;
78 83
@@ -478,6 +483,7 @@ int usage_with_options_internal(const char * const *usagestr,
478 case OPTION_GROUP: 483 case OPTION_GROUP:
479 case OPTION_BIT: 484 case OPTION_BIT:
480 case OPTION_BOOLEAN: 485 case OPTION_BOOLEAN:
486 case OPTION_INCR:
481 case OPTION_SET_INT: 487 case OPTION_SET_INT:
482 case OPTION_SET_PTR: 488 case OPTION_SET_PTR:
483 case OPTION_LONG: 489 case OPTION_LONG:
diff --git a/tools/perf/util/parse-options.h b/tools/perf/util/parse-options.h
index 948805af43c2..b2da725f102a 100644
--- a/tools/perf/util/parse-options.h
+++ b/tools/perf/util/parse-options.h
@@ -8,7 +8,8 @@ enum parse_opt_type {
8 OPTION_GROUP, 8 OPTION_GROUP,
9 /* options with no arguments */ 9 /* options with no arguments */
10 OPTION_BIT, 10 OPTION_BIT,
11 OPTION_BOOLEAN, /* _INCR would have been a better name */ 11 OPTION_BOOLEAN,
12 OPTION_INCR,
12 OPTION_SET_INT, 13 OPTION_SET_INT,
13 OPTION_SET_PTR, 14 OPTION_SET_PTR,
14 /* options with arguments (usually) */ 15 /* options with arguments (usually) */
@@ -95,6 +96,7 @@ struct option {
95#define OPT_GROUP(h) { .type = OPTION_GROUP, .help = (h) } 96#define OPT_GROUP(h) { .type = OPTION_GROUP, .help = (h) }
96#define OPT_BIT(s, l, v, h, b) { .type = OPTION_BIT, .short_name = (s), .long_name = (l), .value = (v), .help = (h), .defval = (b) } 97#define OPT_BIT(s, l, v, h, b) { .type = OPTION_BIT, .short_name = (s), .long_name = (l), .value = (v), .help = (h), .defval = (b) }
97#define OPT_BOOLEAN(s, l, v, h) { .type = OPTION_BOOLEAN, .short_name = (s), .long_name = (l), .value = (v), .help = (h) } 98#define OPT_BOOLEAN(s, l, v, h) { .type = OPTION_BOOLEAN, .short_name = (s), .long_name = (l), .value = (v), .help = (h) }
99#define OPT_INCR(s, l, v, h) { .type = OPTION_INCR, .short_name = (s), .long_name = (l), .value = (v), .help = (h) }
98#define OPT_SET_INT(s, l, v, h, i) { .type = OPTION_SET_INT, .short_name = (s), .long_name = (l), .value = (v), .help = (h), .defval = (i) } 100#define OPT_SET_INT(s, l, v, h, i) { .type = OPTION_SET_INT, .short_name = (s), .long_name = (l), .value = (v), .help = (h), .defval = (i) }
99#define OPT_SET_PTR(s, l, v, h, p) { .type = OPTION_SET_PTR, .short_name = (s), .long_name = (l), .value = (v), .help = (h), .defval = (p) } 101#define OPT_SET_PTR(s, l, v, h, p) { .type = OPTION_SET_PTR, .short_name = (s), .long_name = (l), .value = (v), .help = (h), .defval = (p) }
100#define OPT_INTEGER(s, l, v, h) { .type = OPTION_INTEGER, .short_name = (s), .long_name = (l), .value = (v), .help = (h) } 102#define OPT_INTEGER(s, l, v, h) { .type = OPTION_INTEGER, .short_name = (s), .long_name = (l), .value = (v), .help = (h) }
diff --git a/tools/perf/util/trace-event-parse.c b/tools/perf/util/trace-event-parse.c
index 3b81250ffedb..17d6d66ed766 100644
--- a/tools/perf/util/trace-event-parse.c
+++ b/tools/perf/util/trace-event-parse.c
@@ -42,7 +42,7 @@ int header_page_overwrite_size;
42int header_page_data_offset; 42int header_page_data_offset;
43int header_page_data_size; 43int header_page_data_size;
44 44
45int latency_format; 45bool latency_format;
46 46
47static char *input_buf; 47static char *input_buf;
48static unsigned long long input_buf_ptr; 48static unsigned long long input_buf_ptr;
diff --git a/tools/perf/util/trace-event.h b/tools/perf/util/trace-event.h
index c3269b937db4..81f2fd20a0ea 100644
--- a/tools/perf/util/trace-event.h
+++ b/tools/perf/util/trace-event.h
@@ -1,6 +1,7 @@
1#ifndef __PERF_TRACE_EVENTS_H 1#ifndef __PERF_TRACE_EVENTS_H
2#define __PERF_TRACE_EVENTS_H 2#define __PERF_TRACE_EVENTS_H
3 3
4#include <stdbool.h>
4#include "parse-events.h" 5#include "parse-events.h"
5 6
6#define __unused __attribute__((unused)) 7#define __unused __attribute__((unused))
@@ -241,7 +242,7 @@ extern int header_page_size_size;
241extern int header_page_data_offset; 242extern int header_page_data_offset;
242extern int header_page_data_size; 243extern int header_page_data_size;
243 244
244extern int latency_format; 245extern bool latency_format;
245 246
246int parse_header_page(char *buf, unsigned long size); 247int parse_header_page(char *buf, unsigned long size);
247int trace_parse_common_type(void *data); 248int trace_parse_common_type(void *data);