Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux
1
fork

Configure Feed

Select the types of activity you want to include in your feed.

tools: ynl-gen: use enum name from the spec

The enum name used for id-to-str table does not handle
the enum-name override in the spec correctly.

Signed-off-by: Jakub Kicinski <kuba@kernel.org>
Signed-off-by: David S. Miller <davem@davemloft.net>

authored by

Jakub Kicinski and committed by
David S. Miller
30c90200 19ed9b3d

+9 -5
+9 -5
tools/net/ynl/ynl-gen-c.py
··· 755 755 if 'enum-name' in yaml: 756 756 if yaml['enum-name']: 757 757 self.enum_name = 'enum ' + c_lower(yaml['enum-name']) 758 + self.user_type = self.enum_name 758 759 else: 759 760 self.enum_name = None 760 761 else: 761 762 self.enum_name = 'enum ' + self.render_name 763 + 764 + if self.enum_name: 765 + self.user_type = self.enum_name 766 + else: 767 + self.user_type = 'int' 762 768 763 769 self.value_pfx = yaml.get('name-prefix', f"{family.name}-{yaml['name']}-") 764 770 ··· 1489 1483 1490 1484 def _put_enum_to_str_helper(cw, render_name, map_name, arg_name, enum=None): 1491 1485 args = [f'int {arg_name}'] 1492 - if enum and not ('enum-name' in enum and not enum['enum-name']): 1493 - args = [f'enum {render_name} {arg_name}'] 1486 + if enum: 1487 + args = [enum.user_type + ' ' + arg_name] 1494 1488 cw.write_func_prot('const char *', f'{render_name}_str', args) 1495 1489 cw.block_start() 1496 1490 if enum and enum.type == 'flags': ··· 1528 1522 1529 1523 1530 1524 def put_enum_to_str_fwd(family, cw, enum): 1531 - args = [f'enum {enum.render_name} value'] 1532 - if 'enum-name' in enum and not enum['enum-name']: 1533 - args = ['int value'] 1525 + args = [enum.user_type + ' value'] 1534 1526 cw.write_func_prot('const char *', f'{enum.render_name}_str', args, suffix=';') 1535 1527 1536 1528