]> git.ipfire.org Git - thirdparty/linux.git/commitdiff
tools: ynl-gen: support uint in multi-attr
authorJakub Kicinski <kuba@kernel.org>
Tue, 16 Sep 2025 17:04:31 +0000 (10:04 -0700)
committerJakub Kicinski <kuba@kernel.org>
Wed, 17 Sep 2025 21:57:09 +0000 (14:57 -0700)
The ethtool FEC histogram series run into a build issue with
type: uint + multi-attr: True. Auto scalars use 64b types,
we need to convert them explicitly when rendering the types.

No current spec needs this, and the ethtool FEC histogram
doesn't need this either any more, so not posting as a fix.

Link: https://lore.kernel.org/8f52c5b8-bd8a-44b8-812c-4f30d50f63ff@redhat.com
Reviewed-by: Vadim Fedorenko <vadim.fedorenko@linux.dev>
Reviewed-by: Donald Hunter <donald.hunter@gmail.com>
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
tools/net/ynl/pyynl/ynl_gen_c.py

index 56c63022d702bbb808ef422bce96976ae9a17116..58086b1010573f4322928364a3e81144fdc83f12 100755 (executable)
@@ -720,7 +720,11 @@ class TypeMultiAttr(Type):
             return 'struct ynl_string *'
         elif self.attr['type'] in scalars:
             scalar_pfx = '__' if ri.ku_space == 'user' else ''
-            return scalar_pfx + self.attr['type']
+            if self.is_auto_scalar:
+                name = self.type[0] + '64'
+            else:
+                name = self.attr['type']
+            return scalar_pfx + name
         else:
             raise Exception(f"Sub-type {self.attr['type']} not supported yet")