aboutsummaryrefslogtreecommitdiffstats
path: root/tools
diff options
context:
space:
mode:
authorYunlong Song <yunlong.song@huawei.com>2015-03-18 09:35:56 -0400
committerArnaldo Carvalho de Melo <acme@redhat.com>2015-03-19 12:53:25 -0400
commit33ec0caf6a3bce1289a915845866828e19c04afb (patch)
tree9010dfff7d3951a96b9aec0e37bc057fb9695029 /tools
parent1f9975f14ce4f7258db1cb0eea8fba17482e331e (diff)
perf tools: Add the bash completion for listing subsubcommands of perf timechart
The bash completion does not support listing subsubcommands for 'perf timechart <TAB>', so fix it. Example: Before this patch: $ perf timechart <TAB> $ As shown above, the subsubcommands of perf timechart does not come out. After this patch: $ perf timechart <TAB> record As shown above, the subsubcommands of perf timechart can come out now. Signed-off-by: Yunlong Song <yunlong.song@huawei.com> Tested-by: Arnaldo Carvalho de Melo <acme@redhat.com> Cc: Paul Mackerras <paulus@samba.org> Cc: Peter Zijlstra <a.p.zijlstra@chello.nl> Cc: Wang Nan <wangnan0@huawei.com> Link: http://lkml.kernel.org/r/1426685758-25488-12-git-send-email-yunlong.song@huawei.com Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
Diffstat (limited to 'tools')
-rw-r--r--tools/perf/builtin-timechart.c7
-rw-r--r--tools/perf/perf-completion.sh2
2 files changed, 5 insertions, 4 deletions
diff --git a/tools/perf/builtin-timechart.c b/tools/perf/builtin-timechart.c
index 51440d1fc722..494b3bbe5ea4 100644
--- a/tools/perf/builtin-timechart.c
+++ b/tools/perf/builtin-timechart.c
@@ -1958,7 +1958,8 @@ int cmd_timechart(int argc, const char **argv,
1958 parse_time), 1958 parse_time),
1959 OPT_END() 1959 OPT_END()
1960 }; 1960 };
1961 const char * const timechart_usage[] = { 1961 const char * const timechart_subcommands[] = { "record", NULL };
1962 const char *timechart_usage[] = {
1962 "perf timechart [<options>] {record}", 1963 "perf timechart [<options>] {record}",
1963 NULL 1964 NULL
1964 }; 1965 };
@@ -1976,8 +1977,8 @@ int cmd_timechart(int argc, const char **argv,
1976 "perf timechart record [<options>]", 1977 "perf timechart record [<options>]",
1977 NULL 1978 NULL
1978 }; 1979 };
1979 argc = parse_options(argc, argv, timechart_options, timechart_usage, 1980 argc = parse_options_subcommand(argc, argv, timechart_options, timechart_subcommands,
1980 PARSE_OPT_STOP_AT_NON_OPTION); 1981 timechart_usage, PARSE_OPT_STOP_AT_NON_OPTION);
1981 1982
1982 if (tchart.power_only && tchart.tasks_only) { 1983 if (tchart.power_only && tchart.tasks_only) {
1983 pr_err("-P and -T options cannot be used at the same time.\n"); 1984 pr_err("-P and -T options cannot be used at the same time.\n");
diff --git a/tools/perf/perf-completion.sh b/tools/perf/perf-completion.sh
index 35f43fd7a38b..a33d2ef53ae4 100644
--- a/tools/perf/perf-completion.sh
+++ b/tools/perf/perf-completion.sh
@@ -143,7 +143,7 @@ __perf_main ()
143 __perfcomp_colon "$evts" "$cur" 143 __perfcomp_colon "$evts" "$cur"
144 else 144 else
145 # List subcommands for perf commands 145 # List subcommands for perf commands
146 if [[ $prev_skip_opts == @(kvm|kmem|mem|lock|sched|data|help|script|test) ]]; then 146 if [[ $prev_skip_opts == @(kvm|kmem|mem|lock|sched|data|help|script|test|timechart) ]]; then
147 subcmds=$($cmd $prev_skip_opts --list-cmds) 147 subcmds=$($cmd $prev_skip_opts --list-cmds)
148 __perfcomp_colon "$subcmds" "$cur" 148 __perfcomp_colon "$subcmds" "$cur"
149 fi 149 fi