tools: ynl-gen: loosen type consistency check for events

Both event and notify types are always consistent. Rewrite
the condition checking if we can reuse reply types to be
less picky and let notify thru.

Signed-off-by: Jakub Kicinski <kuba@kernel.org>
This commit is contained in:
Jakub Kicinski 2023-06-01 19:35:42 -07:00
parent 67c65ce762
commit 5605f10237

View file

@ -897,11 +897,12 @@ class RenderInfo:
self.op_mode = op_mode
# 'do' and 'dump' response parsing is identical
if op_mode != 'do' and 'dump' in op and 'do' in op and 'reply' in op['do'] and \
op["do"]["reply"] == op["dump"]["reply"]:
self.type_consistent = True
else:
self.type_consistent = op_mode == 'event'
self.type_consistent = True
if op_mode != 'do' and 'dump' in op and 'do' in op:
if ('reply' in op['do']) != ('reply' in op["dump"]):
self.type_consistent = False
elif 'reply' in op['do'] and op["do"]["reply"] != op["dump"]["reply"]:
self.type_consistent = False
self.attr_set = attr_set
if not self.attr_set:
@ -2245,7 +2246,7 @@ def main():
ri = RenderInfo(cw, parsed, args.mode, op, op_name, 'notify')
has_ntf = True
if not ri.type_consistent:
raise Exception('Only notifications with consistent types supported')
raise Exception(f'Only notifications with consistent types supported ({op.name})')
print_wrapped_type(ri)
if 'event' in op:
@ -2304,7 +2305,7 @@ def main():
ri = RenderInfo(cw, parsed, args.mode, op, op_name, 'notify')
has_ntf = True
if not ri.type_consistent:
raise Exception('Only notifications with consistent types supported')
raise Exception(f'Only notifications with consistent types supported ({op.name})')
print_ntf_type_free(ri)
if 'event' in op: