diff options
author | Robert Richter <robert.richter@amd.com> | 2011-12-07 04:02:56 -0500 |
---|---|---|
committer | Arnaldo Carvalho de Melo <acme@redhat.com> | 2011-12-23 13:56:27 -0500 |
commit | 8cdfa78a885d94a79205d183a611ebc4876d6f33 (patch) | |
tree | 8ed51a03a0a3ef562ae08628e772b5299ef57e0e /tools | |
parent | 41d0d933494ce10eb77758a1168b08e317c42e8e (diff) |
perf tools: Improve macros for struct feature_ops
Reducing duplication and line size by extending function names for
print and write from a single name.
Cc: Frederic Weisbecker <fweisbec@gmail.com>
Cc: Ingo Molnar <mingo@elte.hu>
Cc: Peter Zijlstra <peterz@infradead.org>
Cc: Stephane Eranian <eranian@google.com>
Link: http://lkml.kernel.org/r/1323248577-11268-7-git-send-email-robert.richter@amd.com
Signed-off-by: Robert Richter <robert.richter@amd.com>
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
Diffstat (limited to 'tools')
-rw-r--r-- | tools/perf/util/header.c | 40 |
1 files changed, 22 insertions, 18 deletions
diff --git a/tools/perf/util/header.c b/tools/perf/util/header.c index 5b01449152ef..4c48be80dcdf 100644 --- a/tools/perf/util/header.c +++ b/tools/perf/util/header.c | |||
@@ -1065,26 +1065,30 @@ struct feature_ops { | |||
1065 | bool full_only; | 1065 | bool full_only; |
1066 | }; | 1066 | }; |
1067 | 1067 | ||
1068 | #define FEAT_OPA(n, w, p) \ | 1068 | #define FEAT_OPA(n, func) \ |
1069 | [n] = { .name = #n, .write = w, .print = p } | 1069 | [n] = { .name = #n, .write = write_##func, .print = print_##func } |
1070 | #define FEAT_OPF(n, w, p) \ | 1070 | #define FEAT_OPF(n, func) \ |
1071 | [n] = { .name = #n, .write = w, .print = p, .full_only = true } | 1071 | [n] = { .name = #n, .write = write_##func, .print = print_##func, .full_only = true } |
1072 | |||
1073 | /* feature_ops not implemented: */ | ||
1074 | #define print_trace_info NULL | ||
1075 | #define print_build_id NULL | ||
1072 | 1076 | ||
1073 | static const struct feature_ops feat_ops[HEADER_LAST_FEATURE] = { | 1077 | static const struct feature_ops feat_ops[HEADER_LAST_FEATURE] = { |
1074 | FEAT_OPA(HEADER_TRACE_INFO, write_trace_info, NULL), | 1078 | FEAT_OPA(HEADER_TRACE_INFO, trace_info), |
1075 | FEAT_OPA(HEADER_BUILD_ID, write_build_id, NULL), | 1079 | FEAT_OPA(HEADER_BUILD_ID, build_id), |
1076 | FEAT_OPA(HEADER_HOSTNAME, write_hostname, print_hostname), | 1080 | FEAT_OPA(HEADER_HOSTNAME, hostname), |
1077 | FEAT_OPA(HEADER_OSRELEASE, write_osrelease, print_osrelease), | 1081 | FEAT_OPA(HEADER_OSRELEASE, osrelease), |
1078 | FEAT_OPA(HEADER_VERSION, write_version, print_version), | 1082 | FEAT_OPA(HEADER_VERSION, version), |
1079 | FEAT_OPA(HEADER_ARCH, write_arch, print_arch), | 1083 | FEAT_OPA(HEADER_ARCH, arch), |
1080 | FEAT_OPA(HEADER_NRCPUS, write_nrcpus, print_nrcpus), | 1084 | FEAT_OPA(HEADER_NRCPUS, nrcpus), |
1081 | FEAT_OPA(HEADER_CPUDESC, write_cpudesc, print_cpudesc), | 1085 | FEAT_OPA(HEADER_CPUDESC, cpudesc), |
1082 | FEAT_OPA(HEADER_CPUID, write_cpuid, print_cpuid), | 1086 | FEAT_OPA(HEADER_CPUID, cpuid), |
1083 | FEAT_OPA(HEADER_TOTAL_MEM, write_total_mem, print_total_mem), | 1087 | FEAT_OPA(HEADER_TOTAL_MEM, total_mem), |
1084 | FEAT_OPA(HEADER_EVENT_DESC, write_event_desc, print_event_desc), | 1088 | FEAT_OPA(HEADER_EVENT_DESC, event_desc), |
1085 | FEAT_OPA(HEADER_CMDLINE, write_cmdline, print_cmdline), | 1089 | FEAT_OPA(HEADER_CMDLINE, cmdline), |
1086 | FEAT_OPF(HEADER_CPU_TOPOLOGY, write_cpu_topology, print_cpu_topology), | 1090 | FEAT_OPF(HEADER_CPU_TOPOLOGY, cpu_topology), |
1087 | FEAT_OPF(HEADER_NUMA_TOPOLOGY, write_numa_topology, print_numa_topology), | 1091 | FEAT_OPF(HEADER_NUMA_TOPOLOGY, numa_topology), |
1088 | }; | 1092 | }; |
1089 | 1093 | ||
1090 | struct header_print_data { | 1094 | struct header_print_data { |