Re: [PATCH v5 07/20] dt-bindings: PCI: dwc: Apply generic schema for generic device only

From: Rob Herring
Date: Wed Aug 31 2022 - 17:18:47 EST


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>