[PATCH net-next v2 05/12] tools: ynl-gen: add CodeWriter.p_lines() helper
From: Asbjørn Sloth Tønnesen <hidden>
Date: 2025-09-10 23:08:59
Also in:
lkml
Subsystem:
networking [general], the rest, yaml netlink (ynl) · Maintainers:
"David S. Miller", Eric Dumazet, Jakub Kicinski, Paolo Abeni, Linus Torvalds, Donald Hunter
Add a helper for writing an array of lines, and convert all the existing loops doing that, to use the new helper. This is a trivial patch with no behavioural changes intended, there are no changes to the generated code. Signed-off-by: Asbjørn Sloth Tønnesen <redacted> --- tools/net/ynl/pyynl/ynl_gen_c.py | 32 ++++++++++++++------------------ 1 file changed, 14 insertions(+), 18 deletions(-)
diff --git a/tools/net/ynl/pyynl/ynl_gen_c.py b/tools/net/ynl/pyynl/ynl_gen_c.py
index 6441d5a31391..18c6ed0044b9 100755
--- a/tools/net/ynl/pyynl/ynl_gen_c.py
+++ b/tools/net/ynl/pyynl/ynl_gen_c.py@@ -181,8 +181,7 @@ class Type(SpecAttr): def free(self, ri, var, ref): lines = self._free_lines(ri, var, ref) - for line in lines: - ri.cw.p(line) + ri.cw.p_lines(lines) def arg_member(self, ri): member = self._complex_member_type(ri)
@@ -268,13 +267,9 @@ class Type(SpecAttr): if self.presence_type() == 'present': ri.cw.p(f"{var}->_present.{self.c_name} = 1;") - if init_lines: - ri.cw.nl() - for line in init_lines: - ri.cw.p(line) + ri.cw.p_lines(init_lines, nl_before=True) - for line in lines: - ri.cw.p(line) + ri.cw.p_lines(lines) ri.cw.block_end() return True
@@ -1789,8 +1784,7 @@ class CodeWriter: self.block_start() self.write_func_lvar(local_vars=local_vars) - for line in body: - self.p(line) + self.p_lines(body) self.block_end() def writes_defines(self, defines):
@@ -1831,6 +1825,12 @@ class CodeWriter: self.p('#ifdef ' + config_option) self._ifdef_block = config_option + def p_lines(self, lines, nl_before=False): + if lines and nl_before: + self.nl() + for line in lines or []: + self.p(line) + scalars = {'u8', 'u16', 'u32', 'u64', 's8', 's16', 's32', 's64', 'uint', 'sint'}
@@ -2088,8 +2088,7 @@ def put_req_nested(ri, struct): ri.cw.block_start() ri.cw.write_func_lvar(local_vars) - for line in init_lines: - ri.cw.p(line) + ri.cw.p_lines(init_lines) for _, arg in struct.member_list(): arg.attr_put(ri, "obj")
@@ -2150,8 +2149,7 @@ def _multi_parse(ri, struct, init_lines, local_vars): ri.cw.block_start() ri.cw.write_func_lvar(local_vars) - for line in init_lines: - ri.cw.p(line) + ri.cw.p_lines(init_lines) ri.cw.nl() for arg in struct.inherited:
@@ -2280,10 +2278,8 @@ def parse_rsp_submsg(ri, struct): ri.cw.block_start(line=f'{kw} (!strcmp(sel, "{name}"))') get_lines, init_lines, _ = arg._attr_get(ri, var) - for line in init_lines or []: - ri.cw.p(line) - for line in get_lines: - ri.cw.p(line) + ri.cw.p_lines(init_lines) + ri.cw.p_lines(get_lines) if arg.presence_type() == 'present': ri.cw.p(f"{var}->_present.{arg.c_name} = 1;") ri.cw.block_end()
--
2.51.0