<pre>
Dear Angelo,

Sorry for late reply.

On Fri, 2023-03-17 at 10:58 +0100, AngeloGioacchino Del Regno wrote:
> Il 17/03/23 10:52, Nancy Lin (林欣螢) ha scritto:
> > On Fri, 2023-03-17 at 10:37 +0100, AngeloGioacchino Del Regno
> > wrote:
> > > Il 17/03/23 10:03, Krzysztof Kozlowski ha scritto:
> > > > On 17/03/2023 08:55, Nancy Lin (林欣螢) wrote:
> > > > > On Thu, 2023-03-16 at 12:36 +0100, Krzysztof Kozlowski wrote:
> > > > > > On 16/03/2023 10:53, AngeloGioacchino Del Regno wrote:
> > > > > >
> > > > > > > Hello Krzysztof, Nancy,
> > > > > > >
> > > > > > > Since this series has reached v29, can we please reach an
> > > > > > > agreement
> > > > > > > on the bindings
> > > > > > > to use here, so that we can get this finally upstreamed?
> > > > > > >
> > > > > > > I will put some examples to try to get this issue
> > > > > > > resolved.
> > > > > > >
> > > > > > > ### Example 1: Constrain the number of GCE entries to
> > > > > > > *seven*
> > > > > > > array
> > > > > > > elements (7x4!)
> > > > > > >
> > > > > > > mediatek,gce-client-reg:
> > > > > > > $ref: /schemas/types.yaml#/definitions/phandle-
> > > > > > > array
> > > > > > > maxItems: 1
> > > > > > > description: The register of display function
> > > > > > > block to
> > > > > > > be set
> > > > > > > by gce.
> > > > > > > There are 4 arguments in this property, gce
> > > > > > > node,
> > > > > > > subsys id,
> > > > > > > offset and
> > > > > > > register size. The subsys id is defined in the
> > > > > > > gce
> > > > > > > header of
> > > > > > > each chips
> > > > > > > include/dt-bindings/gce/<chip>-gce.h, mapping to
> > > > > > > the
> > > > > > > register of display
> > > > > > > function block.
> > > > > > > items:
> > > > > > > minItems: 28
> > > > > > > maxItems: 28
> > > > > > > items: <----- this block
> > > > > > > doesn't
> > > > > > > seem to
> > > > > > > get checked :\
> > > > > > > - description: phandle of GCE
> > > > > > > - description: GCE subsys id
> > > > > > > - description: register offset
> > > > > > > - description: register size
> > > > > >
> > > > > > This is what we would like to have but it requires
> > > > > > exception in
> > > > > > dtschema. Thus:
> > > > > >
> > > > > > >
> > > > > > >
> > > > > > > ### Example 2: Don't care about constraining the number
> > > > > > > of
> > > > > > > arguments
> > > > > > >
> > > > > > > mediatek,gce-client-reg:
> > > > > > > $ref: /schemas/types.yaml#/definitions/phandle-
> > > > > > > array
> > > > > > > maxItems: 1
> > > > > > > description: The register of display function
> > > > > > > block to
> > > > > > > be set
> > > > > > > by gce.
> > > > > > > There are 4 arguments in this property, gce
> > > > > > > node,
> > > > > > > subsys id,
> > > > > > > offset and
> > > > > > > register size. The subsys id is defined in the
> > > > > > > gce
> > > > > > > header of
> > > > > > > each chips
> > > > > > > include/dt-bindings/gce/<chip>-gce.h, mapping to
> > > > > > > the
> > > > > > > register of display
> > > > > > > function block.
> > > > > >
> > > > > > use this.
> > > > > >
> > > > > > Best regards,
> > > > > > Krzysztof
> > > > >
> > > > >
> > > > > Hi Krzysztof, Angelo,
> > > > >
> > > > > Thanks for the comment.
> > > > > The Example 2 can pass dt_binding_check.
> > > > >
> > > > > But the example in the binding has 7 items [1] and dts [2].
> > > > > Does
> > > > > the
> > > > > "maxItems: 1" affect any other schema or dts check?
> > > >
> > > > Ah, then it should be maxItems: 7, not 1.
> > > >
> > >
> > > Keep in mind for your v30:
> > >
> > > maxItems: 7 will pass - but only if minItems is *not* 7 :-)
> > >
> > > -> (so, do not declare minItems, as default is 1) <-
> > >
> > > Regards,
> > > Angelo
> > >
> >
> > Hi Angelo,
> >
> > I still have one message [1] when runing dt_binding_check for
> > "example
> > 2 + maxItems: 7" [2].
> >
> > [1]
> > /proj/mtk19347/cros/src/third_party/kernel/v5.10/Documentation/devi
> > cetr
> > ee/bindings/display/mediatek/mediatek,ethdr.example.dtb:
> > hdr-engine@1c114000: mediatek,gce-client-reg: [[4294967295, 7,
> > 16384,
> > 4096, 4294967295, 7, 20480, 4096, 4294967295, 7, 28672, 4096,
> > 4294967295, 7, 36864, 4096, 4294967295, 7, 40960, 4096, 4294967295,
> > 7,
> > 45056, 4096, 4294967295, 7, 49152, 4096]] is too short
> >
> >
> > [2]
> > mediatek,gce-client-reg:
> > $ref: /schemas/types.yaml#/definitions/phandle-array
> > maxItems: 7
> > description: The register of display function block to be set
> > by
> > gce.
> > There are 4 arguments in this property, gce node, subsys
> > id,
> > offset and
> > register size. The subsys id is defined in the gce header
> > of
> > each chips
> > include/dt-bindings/gce/<chip>-gce.h, mapping to the
> > register of
> > display
> > function block.
> >
>
> Maybe I'm wrong about the "do not declare minItems"... try with
>
> minItems: 1
> maxItems: 7
>
>
> ...does it work now?
>

Yes, It works well with "example2 + minItems:1 + maxItems: 7" [1]

[1]
mediatek,gce-client-reg:
$ref: /schemas/types.yaml#/definitions/phandle-array
minItems: 1
maxItems: 7
description: The register of display function block to be set by
gce.
There are 4 arguments in this property, gce node, subsys id,
offset and
register size. The subsys id is defined in the gce header of each
chips
include/dt-bindings/gce/<chip>-gce.h, mapping to the register of
display
function block.

Regards,
Nancy


> > Regards,
> > Nancy
> >
> >
> > > > Best regards,
> > > > Krzysztof
> > > >
>
>
>
>
> _______________________________________________
> linux-arm-kernel mailing list
> linux-arm-kernel@lists.infradead.org
> http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

</pre><!--type:text--><!--{--><pre>************* MEDIATEK Confidentiality Notice ********************
The information contained in this e-mail message (including any 
attachments) may be confidential, proprietary, privileged, or otherwise
exempt from disclosure under applicable laws. It is intended to be 
conveyed only to the designated recipient(s). Any use, dissemination, 
distribution, printing, retaining or copying of this e-mail (including its 
attachments) by unintended recipient(s) is strictly prohibited and may 
be unlawful. If you are not an intended recipient of this e-mail, or believe 
that you have received this e-mail in error, please notify the sender 
immediately (by replying to this e-mail), delete any and all copies of 
this e-mail (including any attachments) from your system, and do not
disclose the content of this e-mail to any other person. Thank you!
</pre><!--}-->