Commit e18f3dc2 authored by Jiri Pirko's avatar Jiri Pirko Committed by Jakub Kicinski
Browse files

tools: ynl-gen: lift type requirement for attribute subsets



In case an attribute is used in a subset, the type has to be currently
specified. As the attribute is already defined in the original set, this
is a redundant information in yaml file, moreover, may lead to
inconsistencies.

Example:
attribute-sets:
    ...
    name: pin
    enum-name: dpll_a_pin
    attributes:
      ...
      -
        name: parent-id
        type: u32
      ...
  -
    name: pin-parent-device
    subset-of: pin
    attributes:
      -
        name: parent-id
        type: u32             <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<

Remove the requirement from schema files to specify the "type" for
attribute subsets.

Signed-off-by: default avatarJiri Pirko <jiri@nvidia.com>
Reviewed-by: default avatarJakub Kicinski <kuba@kernel.org>
Link: https://lore.kernel.org/r/20231006114436.1725425-2-jiri@resnulli.us


Signed-off-by: default avatarJakub Kicinski <kuba@kernel.org>
parent c0423539
Loading
Loading
Loading
Loading
+13 −1
Original line number Diff line number Diff line
@@ -142,7 +142,7 @@ properties:
          type: array
          items:
            type: object
            required: [ name, type ]
            required: [ name ]
            additionalProperties: False
            properties:
              name:
@@ -215,6 +215,18 @@ properties:
          not:
            required: [ name-prefix ]

      # type property is only required if not in subset definition
      if:
        properties:
          subset-of:
            not:
              type: string
      then:
        properties:
          attributes:
            items:
              required: [ type ]

  operations:
    description: Operations supported by the protocol.
    type: object
+13 −1
Original line number Diff line number Diff line
@@ -180,7 +180,7 @@ properties:
          type: array
          items:
            type: object
            required: [ name, type ]
            required: [ name ]
            additionalProperties: False
            properties:
              name:
@@ -254,6 +254,18 @@ properties:
          not:
            required: [ name-prefix ]

      # type property is only required if not in subset definition
      if:
        properties:
          subset-of:
            not:
              type: string
      then:
        properties:
          attributes:
            items:
              required: [ type ]

  operations:
    description: Operations supported by the protocol.
    type: object
+13 −1
Original line number Diff line number Diff line
@@ -115,7 +115,7 @@ properties:
          type: array
          items:
            type: object
            required: [ name, type ]
            required: [ name ]
            additionalProperties: False
            properties:
              name:
@@ -184,6 +184,18 @@ properties:
          not:
            required: [ name-prefix ]

      # type property is only required if not in subset definition
      if:
        properties:
          subset-of:
            not:
              type: string
      then:
        properties:
          attributes:
            items:
              required: [ type ]

  operations:
    description: Operations supported by the protocol.
    type: object
+13 −1
Original line number Diff line number Diff line
@@ -187,7 +187,7 @@ properties:
          type: array
          items:
            type: object
            required: [ name, type ]
            required: [ name ]
            additionalProperties: False
            properties:
              name:
@@ -261,6 +261,18 @@ properties:
          not:
            required: [ name-prefix ]

      # type property is only required if not in subset definition
      if:
        properties:
          subset-of:
            not:
              type: string
      then:
        properties:
          attributes:
            items:
              required: [ type ]

  operations:
    description: Operations supported by the protocol.
    type: object