On Mon, 22 Aug 2022 21:46:48 +0300, Serge Semin wrote: > Having the generic compatible strings constraints with the 'any'+'generic > string' semantic implicitly encourages either to add new DW PCIe-based > DT-bindings with the generic compatible string attached or just forget > about adding new DT-bindings since the corresponding DT-node will be > evaluated anyway. Moreover having that semantic implemented in the > generic DT-schema causes the DT-validation tool to apply the schema twice: > first by implicit compatible-string-based selection and second by means of > the 'allOf: [ $ref ]' statement. Let's fix all of that by dropping the > compatible property constraints and selecting the generic DT-schema only > for the purely generic DW PCIe DT-nodes. The later is required since there > is a driver for such devices. (Though there are no such DT-nodes currently > defined in the kernel DT sources.) > > Signed-off-by: Serge Semin <Sergey.Semin@xxxxxxxxxxxxxxxxxxxx> > > --- > > Changelog v3: > - This is a new patch unpinned from the next one: > https://lore.kernel.org/linux-pci/20220503214638.1895-2-Sergey.Semin@xxxxxxxxxxxxxxxxxxxx/ > by the Rob' request. (@Rob) > - Fix compatible property schema so one would work as expected: string > must contain either generic DW PCIe IP-core name or both generic and > equipped with IP-core version names. > > Changelog v5: > - Switch the patch from not-selecting the generic schemas to applying > them to the generic DW PCIe device nodes only. > - Drop the generic compatible string used as fallback. (@Rob) > --- > .../devicetree/bindings/pci/snps,dw-pcie-ep.yaml | 16 ++++++++++------ > .../devicetree/bindings/pci/snps,dw-pcie.yaml | 16 ++++++++++------ > 2 files changed, 20 insertions(+), 12 deletions(-) > Reviewed-by: Rob Herring <robh@xxxxxxxxxx>