From: Jakub Kicinski Date: Fri, 9 Jun 2023 21:43:39 +0000 (-0700) Subject: tools: ynl-gen: don't generate enum types if unnamed X-Git-Tag: v6.6.17~4555^2~112^2~7 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=dddc9f53da3e1e359e56edc8da301e145e3b97df;p=platform%2Fkernel%2Flinux-rpi.git tools: ynl-gen: don't generate enum types if unnamed If attr set or enum has empty enum name we need to use u32 or int as function arguments and struct members. Signed-off-by: Jakub Kicinski Signed-off-by: David S. Miller --- diff --git a/tools/net/ynl/ynl-gen-c.py b/tools/net/ynl/ynl-gen-c.py index 05b49aa4..82ee6c7 100755 --- a/tools/net/ynl/ynl-gen-c.py +++ b/tools/net/ynl/ynl-gen-c.py @@ -268,7 +268,8 @@ class TypeScalar(Type): else: self.is_bitfield = False - if 'enum' in self.attr and not self.is_bitfield: + maybe_enum = not self.is_bitfield and 'enum' in self.attr + if maybe_enum and self.family.consts[self.attr['enum']].enum_name: self.type_name = f"enum {self.family.name}_{c_lower(self.attr['enum'])}" else: self.type_name = '__' + self.type @@ -652,7 +653,14 @@ class EnumEntry(SpecEnumEntry): class EnumSet(SpecEnumSet): def __init__(self, family, yaml): self.render_name = c_lower(family.name + '-' + yaml['name']) - self.enum_name = 'enum ' + self.render_name + + if 'enum-name' in yaml: + if yaml['enum-name']: + self.enum_name = 'enum ' + c_lower(yaml['enum-name']) + else: + self.enum_name = None + else: + self.enum_name = 'enum ' + self.render_name self.value_pfx = yaml.get('name-prefix', f"{family.name}-{yaml['name']}-")