[PATCH v4] dt-bindings: display: mediatek: split: add subschema property constraints

Moudy Ho posted 1 patch 1 month, 3 weeks ago
There is a newer version of this series
.../display/mediatek/mediatek,split.yaml      | 24 +++++++++++++++++++
1 file changed, 24 insertions(+)
[PATCH v4] dt-bindings: display: mediatek: split: add subschema property constraints
Posted by Moudy Ho 1 month, 3 weeks ago
The display node in mt8195.dtsi was triggering a CHECK_DTBS error due
to an excessively long 'clocks' property:
  display@14f06000: clocks: [[31, 14], [31, 43], [31, 44]] is too long

To resolve this issue, the constraints for 'clocks' and
other properties within the subschema will be reinforced.

Fixes: 739058a9c5c3 ("dt-bindings: display: mediatek: split: add compatible for MT8195")
Signed-off-by: Macpaul Lin <macpaul.lin@mediatek.com>
Signed-off-by: Moudy Ho <moudy.ho@mediatek.com>

--
This is based on [v2] dt-bindings: display: mediatek: split: add clocks count constraint for MT8195

Changes since v3:
  - Correct the compatible name for the mt8173 split in the subschema.

Changes since v2:
  - Revise the commit message.
  - Enhance the descriptions of 'clocks'.
  - Strengthen the conditions within the subschema.

Changes since v1:
  - Adding functional descriptions and quantity restrictions.
---
 .../display/mediatek/mediatek,split.yaml      | 24 +++++++++++++++++++
 1 file changed, 24 insertions(+)

diff --git a/Documentation/devicetree/bindings/display/mediatek/mediatek,split.yaml b/Documentation/devicetree/bindings/display/mediatek/mediatek,split.yaml
index e4affc854f3d..87f8477a7be8 100644
--- a/Documentation/devicetree/bindings/display/mediatek/mediatek,split.yaml
+++ b/Documentation/devicetree/bindings/display/mediatek/mediatek,split.yaml
@@ -57,6 +57,9 @@ properties:
   clocks:
     items:
       - description: SPLIT Clock
+      - description: Used for interfacing with the HDMI RX signal source.
+      - description: Paired with receiving HDMI RX metadata.
+    minItems: 1
 
 required:
   - compatible
@@ -72,9 +75,30 @@ allOf:
             const: mediatek,mt8195-mdp3-split
 
     then:
+      properties:
+        clocks:
+          maxItems: 3
+
+        power-domains:
+          maxItems: 1
+
       required:
         - mediatek,gce-client-reg
 
+  - if:
+      properties:
+        compatible:
+          contains:
+            const: mediatek,mt8173-disp-split
+
+    then:
+      properties:
+        clocks:
+          maxItems: 1
+
+        power-domains:
+          maxItems: 1
+
 additionalProperties: false
 
 examples:
-- 
2.34.1
Re: [PATCH v4] dt-bindings: display: mediatek: split: add subschema property constraints
Posted by Krzysztof Kozlowski 1 month, 3 weeks ago
On Fri, Oct 04, 2024 at 11:12:45AM +0800, Moudy Ho wrote:
> The display node in mt8195.dtsi was triggering a CHECK_DTBS error due
> to an excessively long 'clocks' property:
>   display@14f06000: clocks: [[31, 14], [31, 43], [31, 44]] is too long
> 
> To resolve this issue, the constraints for 'clocks' and
> other properties within the subschema will be reinforced.
> 
> Fixes: 739058a9c5c3 ("dt-bindings: display: mediatek: split: add compatible for MT8195")
> Signed-off-by: Macpaul Lin <macpaul.lin@mediatek.com>
> Signed-off-by: Moudy Ho <moudy.ho@mediatek.com>
> 
> --
> This is based on [v2] dt-bindings: display: mediatek: split: add clocks count constraint for MT8195
> 
> Changes since v3:
>   - Correct the compatible name for the mt8173 split in the subschema.
> 
> Changes since v2:
>   - Revise the commit message.
>   - Enhance the descriptions of 'clocks'.
>   - Strengthen the conditions within the subschema.
> 
> Changes since v1:
>   - Adding functional descriptions and quantity restrictions.
> ---
>  .../display/mediatek/mediatek,split.yaml      | 24 +++++++++++++++++++
>  1 file changed, 24 insertions(+)
> 
> diff --git a/Documentation/devicetree/bindings/display/mediatek/mediatek,split.yaml b/Documentation/devicetree/bindings/display/mediatek/mediatek,split.yaml
> index e4affc854f3d..87f8477a7be8 100644
> --- a/Documentation/devicetree/bindings/display/mediatek/mediatek,split.yaml
> +++ b/Documentation/devicetree/bindings/display/mediatek/mediatek,split.yaml
> @@ -57,6 +57,9 @@ properties:
>    clocks:
>      items:
>        - description: SPLIT Clock
> +      - description: Used for interfacing with the HDMI RX signal source.
> +      - description: Paired with receiving HDMI RX metadata.
> +    minItems: 1
>  
>  required:
>    - compatible
> @@ -72,9 +75,30 @@ allOf:
>              const: mediatek,mt8195-mdp3-split
>  
>      then:
> +      properties:
> +        clocks:

minItems, nothing in your commit msg says that clocks are optional

> +          maxItems: 3
> +
> +        power-domains:
> +          maxItems: 1

This should be in top-level, not here.

Best regards,
Krzysztof
Re: [PATCH v4] dt-bindings: display: mediatek: split: add subschema property constraints
Posted by Moudy Ho (何宗原) 1 month, 3 weeks ago
Hi Krzysztof,

On Fri, 2024-10-04 at 08:35 +0200, Krzysztof Kozlowski wrote:
>  	 
> External email : Please do not click links or open attachments until
> you have verified the sender or the content.
>  On Fri, Oct 04, 2024 at 11:12:45AM +0800, Moudy Ho wrote:
> > The display node in mt8195.dtsi was triggering a CHECK_DTBS error
> due
> > to an excessively long 'clocks' property:
> >   display@14f06000: clocks: [[31, 14], [31, 43], [31, 44]] is too
> long
> > 
> > To resolve this issue, the constraints for 'clocks' and
> > other properties within the subschema will be reinforced.
> > 
> > Fixes: 739058a9c5c3 ("dt-bindings: display: mediatek: split: add
> compatible for MT8195")
> > Signed-off-by: Macpaul Lin <macpaul.lin@mediatek.com>
> > Signed-off-by: Moudy Ho <moudy.ho@mediatek.com>
> > 
> > --
> > This is based on [v2] dt-bindings: display: mediatek: split: add
> clocks count constraint for MT8195
> > 
> > Changes since v3:
> >   - Correct the compatible name for the mt8173 split in the
> subschema.
> > 
> > Changes since v2:
> >   - Revise the commit message.
> >   - Enhance the descriptions of 'clocks'.
> >   - Strengthen the conditions within the subschema.
> > 
> > Changes since v1:
> >   - Adding functional descriptions and quantity restrictions.
> > ---
> >  .../display/mediatek/mediatek,split.yaml      | 24
> +++++++++++++++++++
> >  1 file changed, 24 insertions(+)
> > 
> > diff --git
> a/Documentation/devicetree/bindings/display/mediatek/mediatek,split.y
> aml
> b/Documentation/devicetree/bindings/display/mediatek/mediatek,split.y
> aml
> > index e4affc854f3d..87f8477a7be8 100644
> > ---
> a/Documentation/devicetree/bindings/display/mediatek/mediatek,split.y
> aml
> > +++
> b/Documentation/devicetree/bindings/display/mediatek/mediatek,split.y
> aml
> > @@ -57,6 +57,9 @@ properties:
> >    clocks:
> >      items:
> >        - description: SPLIT Clock
> > +      - description: Used for interfacing with the HDMI RX signal
> source.
> > +      - description: Paired with receiving HDMI RX metadata.
> > +    minItems: 1
> >  
> >  required:
> >    - compatible
> > @@ -72,9 +75,30 @@ allOf:
> >              const: mediatek,mt8195-mdp3-split
> >  
> >      then:
> > +      properties:
> > +        clocks:
> 
> minItems, nothing in your commit msg says that clocks are optional
> 

Thanks for the reminder. I misunderstood the implications of using
min/max.

> > +          maxItems: 3
> > +
> > +        power-domains:
> > +          maxItems: 1
> 
> This should be in top-level, not here.
> 
> Best regards,
> Krzysztof
> 

The above two will be corrected in the next version.

Sincerely,
Moudy Ho