Re: [PATCH -tip 1/7] perf: add OPT_CALLBACK_DEFAULT_NOOPT

Masami Hiramatsu
2010-12-06T02:24:08Z

(2010/12/03 12:58), Akihiro Nagai wrote:
> Add new macro OPT_CALLBACK_DEFAULT_NOOPT for parse_options.
> It enables to pass the default value (opt->defval) to the callback function
> processing options require no argument.
>
> Signed-off-by: Akihiro Nagai <akihiro.nagai.hw@hitachi.com>

This could be useful for perf probe too. :)

Reviewed-by: Masami Hiramatsu <masami.hiramatsu.pt@hitachi.com>

> Cc: Masami Hiramatsu <masami.hiramatsu.pt@hitachi.com>
> Cc: Peter Zijlstra <peterz@infradead.org>
> Cc: Paul Mackerras <paulus@samba.org>
> Cc: Ingo Molnar <mingo@elte.hu>
> Cc: Arnaldo Carvalho de Melo <acme@ghostprotocols.net>
> Cc: linux-kernel@vger.kernel.org
> ---
>
> tools/perf/util/parse-options.h | 4 ++++
> 1 files changed, 4 insertions(+), 0 deletions(-)
>
> diff --git a/tools/perf/util/parse-options.h b/tools/perf/util/parse-options.h
> index c7d72dc..abc31a1 100644
> --- a/tools/perf/util/parse-options.h
> +++ b/tools/perf/util/parse-options.h
> @@ -119,6 +119,10 @@ struct option {
> { .type = OPTION_CALLBACK, .short_name = (s), .long_name = (l), .value = (v), (a), .help = (h), .callback = (f), .flags = PARSE_OPT_NOARG }
> #define OPT_CALLBACK_DEFAULT(s, l, v, a, h, f, d) \
> { .type = OPTION_CALLBACK, .short_name = (s), .long_name = (l), .value = (v), (a), .help = (h), .callback = (f), .defval = (intptr_t)d, .flags = PARSE_OPT_LASTARG_DEFAULT }
> +#define OPT_CALLBACK_DEFAULT_NOOPT(s, l, v, a, h, f, d) \
> + { .type = OPTION_CALLBACK, .short_name = (s), .long_name = (l),\
> + .value = (v), (a), .help = (h), .callback = (f), .defval = (intptr_t)d,\
> + .flags = PARSE_OPT_LASTARG_DEFAULT | PARSE_OPT_NOARG}
>
> /* parse_options() will filter out the processed options and leave the
> * non-option argments in argv[].
>
> --
> To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
> the body of a message to majordomo@vger.kernel.org
> More majordomo info at http://vger.kernel.org/majordomo-info.html
> Please read the FAQ at http://www.tux.org/lkml/

--
Masami HIRAMATSU
2nd Dept. Linux Technology Center
Hitachi, Ltd., Systems Development Laboratory
E-mail: masami.hiramatsu.pt@hitachi.com