Re: [PATCH 3/3] dt-bindings: PCI: brcm,iproc-pcie: Fix 'msi' child node schema

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Tue, Sep 26, 2023 at 10:56:09AM -0500, Rob Herring wrote:
> The 'msi' child node schema is missing constraints on additional properties.
> It turns out it is incomplete and properties for it are documented in the
> parent node by mistake. Move the reference to msi-controller.yaml and
> the custom properties to the 'msi' node. Adding 'unevaluatedProperties'
> ensures all the properties in the 'msi' node are documented.
> 
> With the schema corrected, a minimal interrupt controller node is needed
> to properly decode the interrupt properties since the example has
> multiple interrupt parents.

I suppose this is an ABI break, but the patch just makes the binding
match the example and intent. Feels like of all the patches doing the
unevaluatedProperty additions, this one is the most deserving of a fixes
tag, since the original binding just seems to be completely wrong?

Otherwise,
Acked-by: Conor Dooley <conor.dooley@xxxxxxxxxxxxx>

Thanks,
Conor.

> 
> Signed-off-by: Rob Herring <robh@xxxxxxxxxx>
> ---
>  .../bindings/pci/brcm,iproc-pcie.yaml         | 24 ++++++++++++-------
>  1 file changed, 16 insertions(+), 8 deletions(-)
> 
> diff --git a/Documentation/devicetree/bindings/pci/brcm,iproc-pcie.yaml b/Documentation/devicetree/bindings/pci/brcm,iproc-pcie.yaml
> index 6730d68fedc7..0e07ab61a48d 100644
> --- a/Documentation/devicetree/bindings/pci/brcm,iproc-pcie.yaml
> +++ b/Documentation/devicetree/bindings/pci/brcm,iproc-pcie.yaml
> @@ -12,7 +12,6 @@ maintainers:
>  
>  allOf:
>    - $ref: /schemas/pci/pci-bus.yaml#
> -  - $ref: /schemas/interrupt-controller/msi-controller.yaml#
>  
>  properties:
>    compatible:
> @@ -63,20 +62,24 @@ properties:
>  
>    msi:
>      type: object
> +    $ref: /schemas/interrupt-controller/msi-controller.yaml#
> +    unevaluatedProperties: false
> +
>      properties:
>        compatible:
>          items:
>            - const: brcm,iproc-msi
>  
> -  msi-parent: true
> +      interrupts:
> +        maxItems: 4
>  
> -  msi-controller: true
> +      brcm,pcie-msi-inten:
> +        type: boolean
> +        description:
> +          Needs to be present for some older iProc platforms that require the
> +          interrupt enable registers to be set explicitly to enable MSI
>  
> -  brcm,pcie-msi-inten:
> -    type: boolean
> -    description: >
> -      Needs to be present for some older iProc platforms that require the
> -      interrupt enable registers to be set explicitly to enable MSI
> +  msi-parent: true
>  
>  dependencies:
>    brcm,pcie-ob-axi-offset: ["brcm,pcie-ob"]
> @@ -104,6 +107,11 @@ examples:
>    - |
>      #include <dt-bindings/interrupt-controller/arm-gic.h>
>  
> +    gic: interrupt-controller {
> +        interrupt-controller;
> +        #interrupt-cells = <3>;
> +    };
> +
>      pcie@18012000 {
>          compatible = "brcm,iproc-pcie";
>          reg = <0x18012000 0x1000>;
> -- 
> 2.40.1
> 

Attachment: signature.asc
Description: PGP signature


[Index of Archives]     [Device Tree Compilter]     [Device Tree Spec]     [Linux Driver Backports]     [Video for Linux]     [Linux USB Devel]     [Linux PCI Devel]     [Linux Audio Users]     [Linux Kernel]     [Linux SCSI]     [XFree86]     [Yosemite Backpacking]


  Powered by Linux