[prev in list] [next in list] [prev in thread] [next in thread] 

List:       linux-pci
Subject:    Re: [PATCH v4 05/17] dt-bindings: PCI: dwc: Stop selecting generic bindings by default
From:       Rob Herring <robh () kernel ! org>
Date:       2022-07-28 22:37:18
Message-ID: 1659047838.052652.1710886.nullmailer () robh ! at ! kernel ! org
[Download RAW message or body]

On Thu, 28 Jul 2022 17:34:15 +0300, Serge Semin wrote:
> It's highly encouraged to have the separate DT schema for each available
> particular device, while the generic schema should be left untouched
> representing just a set of the common device properties (mainly advertised
> by the IP-core reference manual). Seeing there is no currently DW PCIe
> RP/EP dts nodes with only generic compatible string and since there isn't
> any vendor-specific compatible string added to the generic DT schema,
> before it's too late let's mark the snps,dw-pcie.yaml and
> snps,dw-pcie-ep.yaml schemas not selected for checking by default and add
> the explicit requirement to have the compatible string containing the
> generic device name.
> 
> Note due to this modification we need to switch some of the DW PCIe-based
> DT-bindings to referring to the common DT-schema instead of evaluating
> against the generic DW PCIe DT-bindings. They are already defined as
> having the vendor-specific compatible string only. So we can't change that
> semantic.
> 
> Signed-off-by: Serge Semin <Sergey.Semin@baikalelectronics.ru>
> 
> ---
> 
> Changelog v3:
> - This is a new patch unpinned from the next one:
> https://lore.kernel.org/linux-pci/20220503214638.1895-2-Sergey.Semin@baikalelectronics.ru/
>  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.
> ---
> .../bindings/pci/fsl,imx6q-pcie.yaml          |  3 ++-
> .../bindings/pci/hisilicon,kirin-pcie.yaml    |  3 ++-
> .../bindings/pci/sifive,fu740-pcie.yaml       |  3 ++-
> .../bindings/pci/snps,dw-pcie-ep.yaml         | 24 +++++++++++++++----
> .../devicetree/bindings/pci/snps,dw-pcie.yaml | 24 +++++++++++++++----
> .../pci/socionext,uniphier-pcie-ep.yaml       |  9 +++----
> .../bindings/pci/toshiba,visconti-pcie.yaml   |  3 ++-
> 7 files changed, 53 insertions(+), 16 deletions(-)
> 

My bot found errors running 'make DT_CHECKER_FLAGS=-m dt_binding_check'
on your patch (DT_CHECKER_FLAGS is new in v5.13):

yamllint warnings/errors:

dtschema/dtc warnings/errors:
/builds/robherring/linux-dt-review/Documentation/devicetree/bindings/pci/sifive,fu740-pcie.example.dtb: \
pcie@e00000000: Unevaluated properties are not allowed ('clocks', 'interrupts' were \
unexpected)  From schema: \
/builds/robherring/linux-dt-review/Documentation/devicetree/bindings/pci/sifive,fu740-pcie.yaml
                
/builds/robherring/linux-dt-review/Documentation/devicetree/bindings/pci/toshiba,visconti-pcie.example.dtb: \
pcie@28400000: Unevaluated properties are not allowed ('interrupt-names' was \
unexpected)  From schema: \
/builds/robherring/linux-dt-review/Documentation/devicetree/bindings/pci/toshiba,visconti-pcie.yaml
 Documentation/devicetree/bindings/pci/snps,dw-pcie-ep.example.dtb:0:0: \
/example-0/pcie-ep@dfd00000: failed to match any schema with compatible: \
['vendor,soc-pcie', 'snps,dw-pcie-ep'] \
Documentation/devicetree/bindings/pci/snps,dw-pcie.example.dtb:0:0: \
/example-0/pcie@dfc00000: failed to match any schema with compatible: \
                ['vendor,soc-pcie', 'snps,dw-pcie']
/builds/robherring/linux-dt-review/Documentation/devicetree/bindings/pci/samsung,exynos-pcie.example.dtb: \
pcie@15700000: compatible: 'anyOf' conditional failed, one must be fixed:  \
['samsung,exynos5433-pcie'] does not contain items matching the given schema  From \
schema: /builds/robherring/linux-dt-review/Documentation/devicetree/bindings/pci/samsung,exynos-pcie.yaml
                
/builds/robherring/linux-dt-review/Documentation/devicetree/bindings/pci/samsung,exynos-pcie.example.dtb: \
pcie@15700000: Unevaluated properties are not allowed ('#address-cells', \
'#interrupt-cells', '#size-cells', 'bus-range', 'device_type', 'interrupt-map', \
'interrupt-map-mask', 'ranges' were unexpected)  From schema: \
/builds/robherring/linux-dt-review/Documentation/devicetree/bindings/pci/samsung,exynos-pcie.yaml
                
/builds/robherring/linux-dt-review/Documentation/devicetree/bindings/pci/socionext,uniphier-pcie.example.dtb: \
pcie@66000000: compatible: 'anyOf' conditional failed, one must be fixed:  \
['socionext,uniphier-pcie'] does not contain items matching the given schema  From \
schema: /builds/robherring/linux-dt-review/Documentation/devicetree/bindings/pci/socionext,uniphier-pcie.yaml
                
/builds/robherring/linux-dt-review/Documentation/devicetree/bindings/pci/socionext,uniphier-pcie.example.dtb: \
pcie@66000000: Unevaluated properties are not allowed ('#address-cells', \
'#interrupt-cells', '#size-cells', 'bus-range', 'device_type', 'interrupt-map', \
'interrupt-map-mask', 'interrupt-names', 'interrupts', 'ranges' were unexpected)  \
From schema: /builds/robherring/linux-dt-review/Documentation/devicetree/bindings/pci/socionext,uniphier-pcie.yaml
                
/builds/robherring/linux-dt-review/Documentation/devicetree/bindings/pci/hisilicon,kirin-pcie.example.dtb: \
pcie@f4000000: Unevaluated properties are not allowed ('interrupt-names', \
'interrupts' were unexpected)  From schema: \
/builds/robherring/linux-dt-review/Documentation/devicetree/bindings/pci/hisilicon,kirin-pcie.yaml
                
/builds/robherring/linux-dt-review/Documentation/devicetree/bindings/pci/hisilicon,kirin-pcie.example.dtb: \
pcie@f5000000: Unevaluated properties are not allowed ('interrupt-names', \
'interrupts' were unexpected)  From schema: \
/builds/robherring/linux-dt-review/Documentation/devicetree/bindings/pci/hisilicon,kirin-pcie.yaml


doc reference errors (make refcheckdocs):

See https://patchwork.ozlabs.org/patch/

This check can fail if there are any dependencies. The base for a patch
series is generally the most recent rc1.

If you already ran 'make dt_binding_check' and didn't see the above
error(s), then make sure 'yamllint' is installed and dt-schema is up to
date:

pip3 install dtschema --upgrade

Please check and re-submit.


[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic