On Thu, Mar 21, 2024 at 04:32:04PM +0800, Tao Zhang wrote: > Add new property "label" to label the source corresponding to the > output connection. When the funnel supports multi-output, this > property needs to be introduced to mark which source component a > certain output connection corresponds to. > > Signed-off-by: Tao Zhang <quic_taozha@xxxxxxxxxxx> > --- > .../arm/arm,coresight-dynamic-funnel.yaml | 34 ++++++++++++++++--- > 1 file changed, 30 insertions(+), 4 deletions(-) > > diff --git a/Documentation/devicetree/bindings/arm/arm,coresight-dynamic-funnel.yaml b/Documentation/devicetree/bindings/arm/arm,coresight-dynamic-funnel.yaml > index 44a1041cb0fc..cde62c286d29 100644 > --- a/Documentation/devicetree/bindings/arm/arm,coresight-dynamic-funnel.yaml > +++ b/Documentation/devicetree/bindings/arm/arm,coresight-dynamic-funnel.yaml > @@ -66,13 +66,39 @@ properties: > $ref: /schemas/graph.yaml#/properties/port > > out-ports: > - $ref: /schemas/graph.yaml#/properties/ports > - additionalProperties: false > - > + type: object > properties: > + "#address-cells": > + const: 1 > + > + "#size-cells": > + const: 0 > + > port: > + type: object > + > + patternProperties: > + '^port(@[0-7])?$': > + type: object > description: Output connection to CoreSight Trace bus > - $ref: /schemas/graph.yaml#/properties/port Nope, now you have no constraints on port node properties. Please look at how other bindings are done to add properties on endpoint node. > + > + patternProperties: > + "^endpoint(@[0-9a-f]+)?$": > + type: object > + properties: > + remote-endpoint: > + description: | > + phandle to an 'endpoint' subnode of a remote device node. > + $ref: /schemas/types.yaml#/definitions/phandle Don't need this. > + label: > + description: Label the source corresponding to the output connection > + $ref: /schemas/types.yaml#/definitions/string label already has a type. As this node is an output, aren't you labeling what the destination is, not the "source"? Why can't you look at the remote connection to identify what it is? > + oneOf: > + - required: > + - port > + - required: > + - "#address-cells" > + - "#size-cells" The common schema that you removed handles this. Rob