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@xxxxxxxxxxxxxxxxxxx > http://lists.infradead.org/mailman/listinfo/linux-arm-kernel