[PATCH v3 02/17] perf jevents: Simplify generation of C-string
From: Ian Rogers
Date: Fri Jul 29 2022 - 03:44:16 EST
Previous implementation wanted variable order and '(null)' string output
to match the C implementation. The '(null)' string output was a
quirk/bug and so there is no need to carry it forward.
Signed-off-by: Ian Rogers <irogers@xxxxxxxxxx>
---
tools/perf/pmu-events/jevents.py | 14 ++++----------
1 file changed, 4 insertions(+), 10 deletions(-)
diff --git a/tools/perf/pmu-events/jevents.py b/tools/perf/pmu-events/jevents.py
index 5b72048d50da..cdfa4e0e7557 100755
--- a/tools/perf/pmu-events/jevents.py
+++ b/tools/perf/pmu-events/jevents.py
@@ -203,7 +203,7 @@ class JsonEvent:
"""Representation of the event as a C struct initializer."""
def attr_string(attr: str, value: str) -> str:
- return '\t.%s = \"%s\",\n' % (attr, value)
+ return f'\t.{attr} = \"{value}\",\n'
def str_if_present(self, attr: str) -> str:
if not getattr(self, attr):
@@ -211,17 +211,11 @@ class JsonEvent:
return attr_string(attr, getattr(self, attr))
s = '{\n'
- for attr in ['name', 'event']:
- s += str_if_present(self, attr)
- if self.desc is not None:
- s += attr_string('desc', self.desc)
- else:
- s += attr_string('desc', '(null)')
- s += str_if_present(self, 'compat')
s += f'\t.topic = "{topic_local}",\n'
for attr in [
- 'long_desc', 'pmu', 'unit', 'perpkg', 'aggr_mode', 'metric_expr',
- 'metric_name', 'metric_group', 'deprecated', 'metric_constraint'
+ 'aggr_mode', 'compat', 'deprecated', 'desc', 'event', 'long_desc',
+ 'metric_constraint', 'metric_expr', 'metric_group', 'metric_name',
+ 'name', 'perpkg', 'pmu', 'unit'
]:
s += str_if_present(self, attr)
s += '},\n'
--
2.37.1.455.g008518b4e5-goog