Commit 5605f102 authored by Jakub Kicinski's avatar Jakub Kicinski
Browse files

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: default avatarJakub Kicinski <kuba@kernel.org>
parent 67c65ce7
Loading
Loading
Loading
Loading
+8 −7
Original line number Diff line number Diff line
@@ -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'
        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: