[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <f04f128f-af7b-93df-0452-4c0e915f2eb7@canonical.com>
Date: Mon, 24 Jan 2022 08:49:53 +0100
From: Krzysztof Kozlowski <krzysztof.kozlowski@...onical.com>
To: Rob Herring <robh@...nel.org>
Cc: Lee Jones <lee.jones@...aro.org>,
Benson Leung <bleung@...omium.org>,
Guenter Roeck <groeck@...omium.org>,
Andi Shyti <andi@...zian.org>, Mark Brown <broonie@...nel.org>,
Sam Protsenko <semen.protsenko@...aro.org>,
Pratyush Yadav <p.yadav@...com>, devicetree@...r.kernel.org,
linux-kernel@...r.kernel.org, linux-arm-kernel@...ts.infradead.org,
linux-samsung-soc@...r.kernel.org, linux-spi@...r.kernel.org,
Alim Akhtar <alim.akhtar@...sung.com>
Subject: Re: [PATCH v5 3/4] mfd: dt-bindings: google,cros-ec: reference
Samsung SPI bindings
On 20/01/2022 23:38, Rob Herring wrote:
> On Thu, Jan 20, 2022 at 06:57:46PM +0100, Krzysztof Kozlowski wrote:
>> The ChromeOS Embedded Controller appears on boards with Samsung Exynos
>> SoC, where Exynos SPI bindings expect controller-data node. Reference
>> newly added dtschema for this property.
>>
>> Signed-off-by: Krzysztof Kozlowski <krzysztof.kozlowski@...onical.com>
>> ---
>> .../bindings/mfd/google,cros-ec.yaml | 29 ++++++++++---------
>> 1 file changed, 16 insertions(+), 13 deletions(-)
>>
>> diff --git a/Documentation/devicetree/bindings/mfd/google,cros-ec.yaml b/Documentation/devicetree/bindings/mfd/google,cros-ec.yaml
>> index 58a1a9405228..66a995bbbbe9 100644
>> --- a/Documentation/devicetree/bindings/mfd/google,cros-ec.yaml
>> +++ b/Documentation/devicetree/bindings/mfd/google,cros-ec.yaml
>> @@ -31,7 +31,7 @@ properties:
>>
>> controller-data:
>> description:
>> - SPI controller data, see bindings/spi/spi-samsung.txt
>> + SPI controller data, see bindings/spi/samsung,spi-peripheral-props.yaml
>> type: object
>
> We should be able to drop all of this if unevaluatedProperties is used.
>
>>
>> google,cros-ec-spi-pre-delay:
>> @@ -148,18 +148,21 @@ patternProperties:
>> required:
>> - compatible
>>
>> -if:
>> - properties:
>> - compatible:
>> - contains:
>> - enum:
>> - - google,cros-ec-i2c
>> - - google,cros-ec-rpmsg
>> -then:
>> - properties:
>> - google,cros-ec-spi-pre-delay: false
>> - google,cros-ec-spi-msg-delay: false
>> - spi-max-frequency: false
>> +allOf:
>> + - if:
>> + properties:
>> + compatible:
>> + contains:
>> + enum:
>> + - google,cros-ec-i2c
>> + - google,cros-ec-rpmsg
>> + then:
>> + properties:
>> + google,cros-ec-spi-pre-delay: false
>> + google,cros-ec-spi-msg-delay: false
>> + spi-max-frequency: false
>> +
>> + - $ref: /schemas/spi/samsung,spi-peripheral-props.yaml
>
> SPI device schemas should reference spi-peripheral-props.yaml only.
> spi-peripheral-props.yaml in turn should reference all the vendor
> specific peripheral property schemas.
>
> You should be able to do just:
>
> else:
> $ref: /schemas/spi/spi-peripheral-props.yaml
I tried now with your changes (no controller-data and else-ref), but
dt_binding_check complains:
linux/Documentation/devicetree/bindings/mfd/google,cros-ec.yaml:
'additionalProperties' is a required property
hint: A schema without a "$ref" to another schema must define all
properties and use "additionalProperties"
from schema $id: http://devicetree.org/meta-schemas/base.yaml#
Which makes sense because only one part - SPI devices - get the ref to
spi-perpheral-props.
Best regards,
Krzysztof
Powered by blists - more mailing lists