diff options
| author | Jakub Kicinski <kuba@kernel.org> | 2023-03-24 12:03:56 -0700 |
|---|---|---|
| committer | David S. Miller <davem@davemloft.net> | 2023-03-27 08:56:04 +0100 |
| commit | 4c6170d1ae2ccb20ed8d06d191868ed01e6bece0 (patch) | |
| tree | 1ac4b79fa16b44cd83ee73eb78060347b45ec3df /tools/net/ynl/ynl-gen-c.py | |
| parent | a504d246d2129b6fe40059d372288ffb36e4588b (diff) | |
| download | linux-4c6170d1ae2ccb20ed8d06d191868ed01e6bece0.tar.gz linux-4c6170d1ae2ccb20ed8d06d191868ed01e6bece0.tar.bz2 linux-4c6170d1ae2ccb20ed8d06d191868ed01e6bece0.zip | |
tools: ynl: default to treating enums as flags for mask generation
I was a bit too optimistic in commit bf51d27704c9 ("tools: ynl: fix
get_mask utility routine"), not every mask we use is necessarily
coming from an enum of type "flags". We also allow flipping an
enum into flags on per-attribute basis. That's done by
the 'enum-as-flags' property of an attribute.
Restore this functionality, it's not currently used by any in-tree
family.
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'tools/net/ynl/ynl-gen-c.py')
| -rwxr-xr-x | tools/net/ynl/ynl-gen-c.py | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/tools/net/ynl/ynl-gen-c.py b/tools/net/ynl/ynl-gen-c.py index 972b87c7aaaf..cc2f8c945340 100755 --- a/tools/net/ynl/ynl-gen-c.py +++ b/tools/net/ynl/ynl-gen-c.py @@ -254,7 +254,8 @@ class TypeScalar(Type): def _attr_policy(self, policy): if 'flags-mask' in self.checks or self.is_bitfield: if self.is_bitfield: - mask = self.family.consts[self.attr['enum']].get_mask() + enum = self.family.consts[self.attr['enum']] + mask = enum.get_mask(as_flags=True) else: flags = self.family.consts[self.checks['flags-mask']] flag_cnt = len(flags['entries']) |
