Re: [PATCH 1/4] dt-bindings: arm: qcom,coresight-funnel: Add label for multi-ouput

From: Rob Herring
Date: Thu Mar 21 2024 - 10:43:16 EST


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