Re: [PATCH] dt-bindings: Improve phandle-array schemas
From: Vladimir Oltean
Date: Wed Jan 19 2022 - 05:36:04 EST
On Tue, Jan 18, 2022 at 07:50:38PM -0600, Rob Herring wrote:
> The 'phandle-array' type is a bit ambiguous. It can be either just an
> array of phandles or an array of phandles plus args. Many schemas for
> phandle-array properties aren't clear in the schema which case applies
> though the description usually describes it.
>
> The array of phandles case boils down to needing:
>
> items:
> maxItems: 1
>
> The phandle plus args cases should typically take this form:
>
> items:
> - items:
> - description: A phandle
> - description: 1st arg cell
> - description: 2nd arg cell
>
> With this change, some examples need updating so that the bracketing of
> property values matches the schema.
> ---
(...)
> diff --git a/Documentation/devicetree/bindings/net/dsa/dsa-port.yaml b/Documentation/devicetree/bindings/net/dsa/dsa-port.yaml
> index 702df848a71d..c504feeec6db 100644
> --- a/Documentation/devicetree/bindings/net/dsa/dsa-port.yaml
> +++ b/Documentation/devicetree/bindings/net/dsa/dsa-port.yaml
> @@ -34,6 +34,8 @@ properties:
> full routing information must be given, not just the one hop
> routes to neighbouring switches
> $ref: /schemas/types.yaml#/definitions/phandle-array
> + items:
> + maxItems: 1
>
> ethernet:
> description:
For better or worse, the mainline cases of this property all take the
form of:
arch/arm64/boot/dts/marvell/armada-3720-turris-mox.dts
link = <&switch1port9 &switch2port9>;
link = <&switch1port10 &switch0port10>;
arch/arm/boot/dts/vf610-zii-dev-rev-b.dts
link = <&switch1port6
&switch2port9>;
link = <&switch1port5
&switch0port5>;
arch/arm/boot/dts/vf610-zii-scu4-aib.dts
link = <&switch1port10
&switch3port10
&switch2port10>;
link = <&switch3port10
&switch2port10>;
link = <&switch1port9
&switch0port10>;
So not really an array of phandles.