diff mbox series

[v5,3/4] mfd: dt-bindings: google,cros-ec: reference Samsung SPI bindings

Message ID 20220120175747.43403-4-krzysztof.kozlowski@canonical.com
State Superseded
Headers show
Series spi: dt-bindings: samsung: convert to dtschema | expand

Commit Message

Krzysztof Kozlowski Jan. 20, 2022, 5:57 p.m. UTC
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@canonical.com>
---
 .../bindings/mfd/google,cros-ec.yaml          | 29 ++++++++++---------
 1 file changed, 16 insertions(+), 13 deletions(-)

Comments

Rob Herring (Arm) Jan. 20, 2022, 10:38 p.m. UTC | #1
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@canonical.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

Can you please hold off sending anything referencing 
spi-peripheral-props.yaml until after the merge window. Otherwise, the 
checks fail (though I trust you've run validation).

Rob
diff mbox series

Patch

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
 
   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
 
 additionalProperties: false