tools: ynl: fix render-max for flags definition
Properly manage render-max property for flags definition type introducing mask value and setting it to (last_element << 1) - 1 instead of adding max value set to last_element + 1 Fixes: be5bea1cc0bf ("net: add basic C code generators for Netlink") Signed-off-by: Lorenzo Bianconi <lorenzo@kernel.org> Signed-off-by: Jakub Kicinski <kuba@kernel.org>
This commit is contained in:
parent
7e4f8a0c49
commit
8f76a4f80f
@ -1931,9 +1931,14 @@ def render_uapi(family, cw):
|
||||
|
||||
if const.get('render-max', False):
|
||||
cw.nl()
|
||||
max_name = c_upper(name_pfx + 'max')
|
||||
cw.p('__' + max_name + ',')
|
||||
cw.p(max_name + ' = (__' + max_name + ' - 1)')
|
||||
if const['type'] == 'flags':
|
||||
max_name = c_upper(name_pfx + 'mask')
|
||||
max_val = f' = {enum.get_mask()},'
|
||||
cw.p(max_name + max_val)
|
||||
else:
|
||||
max_name = c_upper(name_pfx + 'max')
|
||||
cw.p('__' + max_name + ',')
|
||||
cw.p(max_name + ' = (__' + max_name + ' - 1)')
|
||||
cw.block_end(line=';')
|
||||
cw.nl()
|
||||
elif const['type'] == 'const':
|
||||
|
Loading…
x
Reference in New Issue
Block a user