[PATCH/RFC] dt-bindings: pci: rcar-pci-ep: Document missing interrupts property
diff mbox series

Message ID 20201126115927.4089838-1-geert@linux-m68k.org
State Accepted
Commit f3c6c120614cfb02827ee7bbe6c4240847cc5f12
Headers show
Series
  • [PATCH/RFC] dt-bindings: pci: rcar-pci-ep: Document missing interrupts property
Related show

Commit Message

Geert Uytterhoeven Nov. 26, 2020, 11:59 a.m. UTC
The R-Car PCIe controller does not use interrupts when configured
for endpoint mode, hence the bindings do not document the interrupt
property.  However, all DTS files provide interrupts properties, and
thus fail to validate.

Fix this by documenting the interrupts property.

Fixes: 5be478f9c24fbdf8 ("dt-bindings: Another round of adding missing 'additionalProperties'")
Fixes: 4c0f80920923f103 ("dt-bindings: PCI: rcar: Add bindings for R-Car PCIe endpoint controller")
Signed-off-by: Geert Uytterhoeven <geert@linux-m68k.org>
---
Alternatively, the interrupts properties should be removed from the
corresponding device nodes in the DTS files.  Obviously they should be
retained in the device nodes representing PCIe controllers configured in
host mode, which describe the same hardware...
---
 Documentation/devicetree/bindings/pci/rcar-pci-ep.yaml | 9 +++++++++
 1 file changed, 9 insertions(+)

Comments

Geert Uytterhoeven Nov. 30, 2020, 9:16 a.m. UTC | #1
On Thu, Nov 26, 2020 at 3:20 PM Geert Uytterhoeven <geert@linux-m68k.org> wrote:
> The R-Car PCIe controller does not use interrupts when configured
> for endpoint mode, hence the bindings do not document the interrupt
> property.  However, all DTS files provide interrupts properties, and
> thus fail to validate.
>
> Fix this by documenting the interrupts property.
>
> Fixes: 5be478f9c24fbdf8 ("dt-bindings: Another round of adding missing 'additionalProperties'")
> Fixes: 4c0f80920923f103 ("dt-bindings: PCI: rcar: Add bindings for R-Car PCIe endpoint controller")
> Signed-off-by: Geert Uytterhoeven <geert@linux-m68k.org>

Oops, this should have been geert+renesas@glider.be.

> ---
> Alternatively, the interrupts properties should be removed from the
> corresponding device nodes in the DTS files.  Obviously they should be
> retained in the device nodes representing PCIe controllers configured in
> host mode, which describe the same hardware...

Anyway, waiting for your comments ;-)

Gr{oetje,eeting}s,

                        Geert
Lad, Prabhakar Nov. 30, 2020, 10 a.m. UTC | #2
Hi Geert,

Thank you for the patch.

On Thu, Nov 26, 2020 at 2:21 PM Geert Uytterhoeven <geert@linux-m68k.org> wrote:
>
> The R-Car PCIe controller does not use interrupts when configured
> for endpoint mode, hence the bindings do not document the interrupt
> property.  However, all DTS files provide interrupts properties, and
> thus fail to validate.
>
> Fix this by documenting the interrupts property.
>
> Fixes: 5be478f9c24fbdf8 ("dt-bindings: Another round of adding missing 'additionalProperties'")
> Fixes: 4c0f80920923f103 ("dt-bindings: PCI: rcar: Add bindings for R-Car PCIe endpoint controller")
> Signed-off-by: Geert Uytterhoeven <geert@linux-m68k.org>
> ---
> Alternatively, the interrupts properties should be removed from the
> corresponding device nodes in the DTS files.  Obviously they should be
> retained in the device nodes representing PCIe controllers configured in
> host mode, which describe the same hardware...
> ---
>  Documentation/devicetree/bindings/pci/rcar-pci-ep.yaml | 9 +++++++++
>  1 file changed, 9 insertions(+)
>
Reviewed-by: Lad Prabhakar <prabhakar.mahadev-lad.rj@bp.renesas.com>

Cheers,
Prabhakar

> diff --git a/Documentation/devicetree/bindings/pci/rcar-pci-ep.yaml b/Documentation/devicetree/bindings/pci/rcar-pci-ep.yaml
> index fb97f4ea0e63682b..32a3b7665ff5473c 100644
> --- a/Documentation/devicetree/bindings/pci/rcar-pci-ep.yaml
> +++ b/Documentation/devicetree/bindings/pci/rcar-pci-ep.yaml
> @@ -33,6 +33,10 @@ properties:
>        - const: memory2
>        - const: memory3
>
> +  interrupts:
> +    minItems: 3
> +    maxItems: 3
> +
>    power-domains:
>      maxItems: 1
>
> @@ -54,6 +58,7 @@ required:
>    - compatible
>    - reg
>    - reg-names
> +  - interrupts
>    - resets
>    - power-domains
>    - clocks
> @@ -65,6 +70,7 @@ additionalProperties: false
>  examples:
>    - |
>      #include <dt-bindings/clock/r8a774c0-cpg-mssr.h>
> +    #include <dt-bindings/interrupt-controller/arm-gic.h>
>      #include <dt-bindings/power/r8a774c0-sysc.h>
>
>       pcie0_ep: pcie-ep@fe000000 {
> @@ -76,6 +82,9 @@ examples:
>                    <0x30000000 0x8000000>,
>                    <0x38000000 0x8000000>;
>              reg-names = "apb-base", "memory0", "memory1", "memory2", "memory3";
> +            interrupts = <GIC_SPI 116 IRQ_TYPE_LEVEL_HIGH>,
> +                         <GIC_SPI 117 IRQ_TYPE_LEVEL_HIGH>,
> +                         <GIC_SPI 118 IRQ_TYPE_LEVEL_HIGH>;
>              resets = <&cpg 319>;
>              power-domains = <&sysc R8A774C0_PD_ALWAYS_ON>;
>              clocks = <&cpg CPG_MOD 319>;
> --
> 2.25.1
>
Rob Herring Dec. 8, 2020, 6:01 p.m. UTC | #3
On Thu, Nov 26, 2020 at 12:59:27PM +0100, Geert Uytterhoeven wrote:
> The R-Car PCIe controller does not use interrupts when configured
> for endpoint mode, hence the bindings do not document the interrupt
> property.  However, all DTS files provide interrupts properties, and
> thus fail to validate.
> 
> Fix this by documenting the interrupts property.
> 
> Fixes: 5be478f9c24fbdf8 ("dt-bindings: Another round of adding missing 'additionalProperties'")

I don't think this fixes is appropriate. The commit itself wasn't 
broken, this binding is.

> Fixes: 4c0f80920923f103 ("dt-bindings: PCI: rcar: Add bindings for R-Car PCIe endpoint controller")
> Signed-off-by: Geert Uytterhoeven <geert@linux-m68k.org>
> ---
> Alternatively, the interrupts properties should be removed from the
> corresponding device nodes in the DTS files.  Obviously they should be
> retained in the device nodes representing PCIe controllers configured in
> host mode, which describe the same hardware...

No, I think this patch is the right change. EP and host bindings should 
be similiar.

Fix your Sob and resend please.

Rob

Patch
diff mbox series

diff --git a/Documentation/devicetree/bindings/pci/rcar-pci-ep.yaml b/Documentation/devicetree/bindings/pci/rcar-pci-ep.yaml
index fb97f4ea0e63682b..32a3b7665ff5473c 100644
--- a/Documentation/devicetree/bindings/pci/rcar-pci-ep.yaml
+++ b/Documentation/devicetree/bindings/pci/rcar-pci-ep.yaml
@@ -33,6 +33,10 @@  properties:
       - const: memory2
       - const: memory3
 
+  interrupts:
+    minItems: 3
+    maxItems: 3
+
   power-domains:
     maxItems: 1
 
@@ -54,6 +58,7 @@  required:
   - compatible
   - reg
   - reg-names
+  - interrupts
   - resets
   - power-domains
   - clocks
@@ -65,6 +70,7 @@  additionalProperties: false
 examples:
   - |
     #include <dt-bindings/clock/r8a774c0-cpg-mssr.h>
+    #include <dt-bindings/interrupt-controller/arm-gic.h>
     #include <dt-bindings/power/r8a774c0-sysc.h>
 
      pcie0_ep: pcie-ep@fe000000 {
@@ -76,6 +82,9 @@  examples:
                   <0x30000000 0x8000000>,
                   <0x38000000 0x8000000>;
             reg-names = "apb-base", "memory0", "memory1", "memory2", "memory3";
+            interrupts = <GIC_SPI 116 IRQ_TYPE_LEVEL_HIGH>,
+                         <GIC_SPI 117 IRQ_TYPE_LEVEL_HIGH>,
+                         <GIC_SPI 118 IRQ_TYPE_LEVEL_HIGH>;
             resets = <&cpg 319>;
             power-domains = <&sysc R8A774C0_PD_ALWAYS_ON>;
             clocks = <&cpg CPG_MOD 319>;