diff mbox series

dt-bindings: memory-controllers: tegra: Fix type references

Message ID 20191211163210.9778-1-robh@kernel.org
State Accepted
Headers show
Series dt-bindings: memory-controllers: tegra: Fix type references | expand

Commit Message

Rob Herring (Arm) Dec. 11, 2019, 4:32 p.m. UTC
Json-schema requires a $ref to be under an 'allOf' if there are
additional constraints otherwise the additional constraints are
ignored. (Note that this behavior will be changed in draft8.)

Fixes: 641262f5e1ed ("dt-bindings: memory: Add binding for NVIDIA Tegra30 External Memory Controller")
Fixes: 785685b7a106 ("dt-bindings: memory: Add binding for NVIDIA Tegra30 Memory Controller")
Fixes: 8da65c377b21 ("dt-bindings: memory: tegra30: Convert to Tegra124 YAML")
Cc: Dmitry Osipenko <digetx@gmail.com>
Cc: Thierry Reding <treding@nvidia.com>
Cc: Jonathan Hunter <jonathanh@nvidia.com>
Cc: linux-tegra@vger.kernel.org
Signed-off-by: Rob Herring <robh@kernel.org>
---
I'll take this via the DT tree for rc2.

 .../bindings/memory-controllers/nvidia,tegra124-mc.yaml  | 3 ++-
 .../bindings/memory-controllers/nvidia,tegra30-emc.yaml  | 9 ++++++---
 .../bindings/memory-controllers/nvidia,tegra30-mc.yaml   | 3 ++-
 3 files changed, 10 insertions(+), 5 deletions(-)

Comments

Dmitry Osipenko Dec. 12, 2019, 1:36 p.m. UTC | #1
11.12.2019 19:32, Rob Herring пишет:
> Json-schema requires a $ref to be under an 'allOf' if there are
> additional constraints otherwise the additional constraints are
> ignored. (Note that this behavior will be changed in draft8.)
> 
> Fixes: 641262f5e1ed ("dt-bindings: memory: Add binding for NVIDIA Tegra30 External Memory Controller")
> Fixes: 785685b7a106 ("dt-bindings: memory: Add binding for NVIDIA Tegra30 Memory Controller")
> Fixes: 8da65c377b21 ("dt-bindings: memory: tegra30: Convert to Tegra124 YAML")
> Cc: Dmitry Osipenko <digetx@gmail.com>
> Cc: Thierry Reding <treding@nvidia.com>
> Cc: Jonathan Hunter <jonathanh@nvidia.com>
> Cc: linux-tegra@vger.kernel.org
> Signed-off-by: Rob Herring <robh@kernel.org>
> ---
> I'll take this via the DT tree for rc2.
> 
>  .../bindings/memory-controllers/nvidia,tegra124-mc.yaml  | 3 ++-
>  .../bindings/memory-controllers/nvidia,tegra30-emc.yaml  | 9 ++++++---
>  .../bindings/memory-controllers/nvidia,tegra30-mc.yaml   | 3 ++-
>  3 files changed, 10 insertions(+), 5 deletions(-)
> 
> diff --git a/Documentation/devicetree/bindings/memory-controllers/nvidia,tegra124-mc.yaml b/Documentation/devicetree/bindings/memory-controllers/nvidia,tegra124-mc.yaml
> index 30d9fb193d7f..22a94b6fdbde 100644
> --- a/Documentation/devicetree/bindings/memory-controllers/nvidia,tegra124-mc.yaml
> +++ b/Documentation/devicetree/bindings/memory-controllers/nvidia,tegra124-mc.yaml
> @@ -60,7 +60,8 @@ patternProperties:
>              maximum: 1066000000
>  
>            nvidia,emem-configuration:
> -            $ref: /schemas/types.yaml#/definitions/uint32-array
> +            allOf:
> +              - $ref: /schemas/types.yaml#/definitions/uint32-array
>              description: |
>                Values to be written to the EMEM register block. See section
>                "15.6.1 MC Registers" in the TRM.
> diff --git a/Documentation/devicetree/bindings/memory-controllers/nvidia,tegra30-emc.yaml b/Documentation/devicetree/bindings/memory-controllers/nvidia,tegra30-emc.yaml
> index 7fe0ca14e324..e4135bac6957 100644
> --- a/Documentation/devicetree/bindings/memory-controllers/nvidia,tegra30-emc.yaml
> +++ b/Documentation/devicetree/bindings/memory-controllers/nvidia,tegra30-emc.yaml
> @@ -56,7 +56,8 @@ patternProperties:
>              maximum: 900000000
>  
>            nvidia,emc-auto-cal-interval:
> -            $ref: /schemas/types.yaml#/definitions/uint32
> +            allOf:
> +              - $ref: /schemas/types.yaml#/definitions/uint32
>              description:
>                Pad calibration interval in microseconds.
>              minimum: 0
> @@ -78,7 +79,8 @@ patternProperties:
>                Mode Register 0.
>  
>            nvidia,emc-zcal-cnt-long:
> -            $ref: /schemas/types.yaml#/definitions/uint32
> +            allOf:
> +              - $ref: /schemas/types.yaml#/definitions/uint32
>              description:
>                Number of EMC clocks to wait before issuing any commands after
>                sending ZCAL_MRW_CMD.
> @@ -96,7 +98,8 @@ patternProperties:
>                FBIO "read" FIFO periodic resetting enabled.
>  
>            nvidia,emc-configuration:
> -            $ref: /schemas/types.yaml#/definitions/uint32-array
> +            allOf:
> +              - $ref: /schemas/types.yaml#/definitions/uint32-array
>              description:
>                EMC timing characterization data. These are the registers
>                (see section "18.13.2 EMC Registers" in the TRM) whose values
> diff --git a/Documentation/devicetree/bindings/memory-controllers/nvidia,tegra30-mc.yaml b/Documentation/devicetree/bindings/memory-controllers/nvidia,tegra30-mc.yaml
> index 84fd57bcf0dc..4b9196c83291 100644
> --- a/Documentation/devicetree/bindings/memory-controllers/nvidia,tegra30-mc.yaml
> +++ b/Documentation/devicetree/bindings/memory-controllers/nvidia,tegra30-mc.yaml
> @@ -77,7 +77,8 @@ patternProperties:
>              maximum: 900000000
>  
>            nvidia,emem-configuration:
> -            $ref: /schemas/types.yaml#/definitions/uint32-array
> +            allOf:
> +              - $ref: /schemas/types.yaml#/definitions/uint32-array
>              description: |
>                Values to be written to the EMEM register block. See section
>                "18.13.1 MC Registers" in the TRM.
> 

But the "nvidia,emem-configuration" doesn't have any extra constraints.
Or you just added the "allOf" for consistency to avoid possible future
copy-paste bugs?

Otherwise LGTM, thanks!

Reviewed-by: Dmitry Osipenko <digetx@gmail.com>
Rob Herring (Arm) Dec. 12, 2019, 2:05 p.m. UTC | #2
On Thu, Dec 12, 2019 at 7:36 AM Dmitry Osipenko <digetx@gmail.com> wrote:
>
> 11.12.2019 19:32, Rob Herring пишет:
> > Json-schema requires a $ref to be under an 'allOf' if there are
> > additional constraints otherwise the additional constraints are
> > ignored. (Note that this behavior will be changed in draft8.)
> >
> > Fixes: 641262f5e1ed ("dt-bindings: memory: Add binding for NVIDIA Tegra30 External Memory Controller")
> > Fixes: 785685b7a106 ("dt-bindings: memory: Add binding for NVIDIA Tegra30 Memory Controller")
> > Fixes: 8da65c377b21 ("dt-bindings: memory: tegra30: Convert to Tegra124 YAML")
> > Cc: Dmitry Osipenko <digetx@gmail.com>
> > Cc: Thierry Reding <treding@nvidia.com>
> > Cc: Jonathan Hunter <jonathanh@nvidia.com>
> > Cc: linux-tegra@vger.kernel.org
> > Signed-off-by: Rob Herring <robh@kernel.org>
> > ---
> > I'll take this via the DT tree for rc2.
> >
> >  .../bindings/memory-controllers/nvidia,tegra124-mc.yaml  | 3 ++-
> >  .../bindings/memory-controllers/nvidia,tegra30-emc.yaml  | 9 ++++++---
> >  .../bindings/memory-controllers/nvidia,tegra30-mc.yaml   | 3 ++-
> >  3 files changed, 10 insertions(+), 5 deletions(-)
> >
> > diff --git a/Documentation/devicetree/bindings/memory-controllers/nvidia,tegra124-mc.yaml b/Documentation/devicetree/bindings/memory-controllers/nvidia,tegra124-mc.yaml
> > index 30d9fb193d7f..22a94b6fdbde 100644
> > --- a/Documentation/devicetree/bindings/memory-controllers/nvidia,tegra124-mc.yaml
> > +++ b/Documentation/devicetree/bindings/memory-controllers/nvidia,tegra124-mc.yaml
> > @@ -60,7 +60,8 @@ patternProperties:
> >              maximum: 1066000000
> >
> >            nvidia,emem-configuration:
> > -            $ref: /schemas/types.yaml#/definitions/uint32-array
> > +            allOf:
> > +              - $ref: /schemas/types.yaml#/definitions/uint32-array
> >              description: |
> >                Values to be written to the EMEM register block. See section
> >                "15.6.1 MC Registers" in the TRM.
> > diff --git a/Documentation/devicetree/bindings/memory-controllers/nvidia,tegra30-emc.yaml b/Documentation/devicetree/bindings/memory-controllers/nvidia,tegra30-emc.yaml
> > index 7fe0ca14e324..e4135bac6957 100644
> > --- a/Documentation/devicetree/bindings/memory-controllers/nvidia,tegra30-emc.yaml
> > +++ b/Documentation/devicetree/bindings/memory-controllers/nvidia,tegra30-emc.yaml
> > @@ -56,7 +56,8 @@ patternProperties:
> >              maximum: 900000000
> >
> >            nvidia,emc-auto-cal-interval:
> > -            $ref: /schemas/types.yaml#/definitions/uint32
> > +            allOf:
> > +              - $ref: /schemas/types.yaml#/definitions/uint32
> >              description:
> >                Pad calibration interval in microseconds.
> >              minimum: 0
> > @@ -78,7 +79,8 @@ patternProperties:
> >                Mode Register 0.
> >
> >            nvidia,emc-zcal-cnt-long:
> > -            $ref: /schemas/types.yaml#/definitions/uint32
> > +            allOf:
> > +              - $ref: /schemas/types.yaml#/definitions/uint32
> >              description:
> >                Number of EMC clocks to wait before issuing any commands after
> >                sending ZCAL_MRW_CMD.
> > @@ -96,7 +98,8 @@ patternProperties:
> >                FBIO "read" FIFO periodic resetting enabled.
> >
> >            nvidia,emc-configuration:
> > -            $ref: /schemas/types.yaml#/definitions/uint32-array
> > +            allOf:
> > +              - $ref: /schemas/types.yaml#/definitions/uint32-array
> >              description:
> >                EMC timing characterization data. These are the registers
> >                (see section "18.13.2 EMC Registers" in the TRM) whose values
> > diff --git a/Documentation/devicetree/bindings/memory-controllers/nvidia,tegra30-mc.yaml b/Documentation/devicetree/bindings/memory-controllers/nvidia,tegra30-mc.yaml
> > index 84fd57bcf0dc..4b9196c83291 100644
> > --- a/Documentation/devicetree/bindings/memory-controllers/nvidia,tegra30-mc.yaml
> > +++ b/Documentation/devicetree/bindings/memory-controllers/nvidia,tegra30-mc.yaml
> > @@ -77,7 +77,8 @@ patternProperties:
> >              maximum: 900000000
> >
> >            nvidia,emem-configuration:
> > -            $ref: /schemas/types.yaml#/definitions/uint32-array
> > +            allOf:
> > +              - $ref: /schemas/types.yaml#/definitions/uint32-array
> >              description: |
> >                Values to be written to the EMEM register block. See section
> >                "18.13.1 MC Registers" in the TRM.
> >
>
> But the "nvidia,emem-configuration" doesn't have any extra constraints.
> Or you just added the "allOf" for consistency to avoid possible future
> copy-paste bugs?

It does have constraints. It has the 'items' list.

Note that fixing it introduces an error which I'm in the process of
fixing in the schema tool.

> Otherwise LGTM, thanks!
>
> Reviewed-by: Dmitry Osipenko <digetx@gmail.com>

Thanks.

Rob
Dmitry Osipenko Dec. 12, 2019, 2:21 p.m. UTC | #3
12.12.2019 17:05, Rob Herring пишет:
> On Thu, Dec 12, 2019 at 7:36 AM Dmitry Osipenko <digetx@gmail.com> wrote:
>>
>> 11.12.2019 19:32, Rob Herring пишет:
>>> Json-schema requires a $ref to be under an 'allOf' if there are
>>> additional constraints otherwise the additional constraints are
>>> ignored. (Note that this behavior will be changed in draft8.)
>>>
>>> Fixes: 641262f5e1ed ("dt-bindings: memory: Add binding for NVIDIA Tegra30 External Memory Controller")
>>> Fixes: 785685b7a106 ("dt-bindings: memory: Add binding for NVIDIA Tegra30 Memory Controller")
>>> Fixes: 8da65c377b21 ("dt-bindings: memory: tegra30: Convert to Tegra124 YAML")
>>> Cc: Dmitry Osipenko <digetx@gmail.com>
>>> Cc: Thierry Reding <treding@nvidia.com>
>>> Cc: Jonathan Hunter <jonathanh@nvidia.com>
>>> Cc: linux-tegra@vger.kernel.org
>>> Signed-off-by: Rob Herring <robh@kernel.org>
>>> ---
>>> I'll take this via the DT tree for rc2.
>>>
>>>  .../bindings/memory-controllers/nvidia,tegra124-mc.yaml  | 3 ++-
>>>  .../bindings/memory-controllers/nvidia,tegra30-emc.yaml  | 9 ++++++---
>>>  .../bindings/memory-controllers/nvidia,tegra30-mc.yaml   | 3 ++-
>>>  3 files changed, 10 insertions(+), 5 deletions(-)
>>>
>>> diff --git a/Documentation/devicetree/bindings/memory-controllers/nvidia,tegra124-mc.yaml b/Documentation/devicetree/bindings/memory-controllers/nvidia,tegra124-mc.yaml
>>> index 30d9fb193d7f..22a94b6fdbde 100644
>>> --- a/Documentation/devicetree/bindings/memory-controllers/nvidia,tegra124-mc.yaml
>>> +++ b/Documentation/devicetree/bindings/memory-controllers/nvidia,tegra124-mc.yaml
>>> @@ -60,7 +60,8 @@ patternProperties:
>>>              maximum: 1066000000
>>>
>>>            nvidia,emem-configuration:
>>> -            $ref: /schemas/types.yaml#/definitions/uint32-array
>>> +            allOf:
>>> +              - $ref: /schemas/types.yaml#/definitions/uint32-array
>>>              description: |
>>>                Values to be written to the EMEM register block. See section
>>>                "15.6.1 MC Registers" in the TRM.
>>> diff --git a/Documentation/devicetree/bindings/memory-controllers/nvidia,tegra30-emc.yaml b/Documentation/devicetree/bindings/memory-controllers/nvidia,tegra30-emc.yaml
>>> index 7fe0ca14e324..e4135bac6957 100644
>>> --- a/Documentation/devicetree/bindings/memory-controllers/nvidia,tegra30-emc.yaml
>>> +++ b/Documentation/devicetree/bindings/memory-controllers/nvidia,tegra30-emc.yaml
>>> @@ -56,7 +56,8 @@ patternProperties:
>>>              maximum: 900000000
>>>
>>>            nvidia,emc-auto-cal-interval:
>>> -            $ref: /schemas/types.yaml#/definitions/uint32
>>> +            allOf:
>>> +              - $ref: /schemas/types.yaml#/definitions/uint32
>>>              description:
>>>                Pad calibration interval in microseconds.
>>>              minimum: 0
>>> @@ -78,7 +79,8 @@ patternProperties:
>>>                Mode Register 0.
>>>
>>>            nvidia,emc-zcal-cnt-long:
>>> -            $ref: /schemas/types.yaml#/definitions/uint32
>>> +            allOf:
>>> +              - $ref: /schemas/types.yaml#/definitions/uint32
>>>              description:
>>>                Number of EMC clocks to wait before issuing any commands after
>>>                sending ZCAL_MRW_CMD.
>>> @@ -96,7 +98,8 @@ patternProperties:
>>>                FBIO "read" FIFO periodic resetting enabled.
>>>
>>>            nvidia,emc-configuration:
>>> -            $ref: /schemas/types.yaml#/definitions/uint32-array
>>> +            allOf:
>>> +              - $ref: /schemas/types.yaml#/definitions/uint32-array
>>>              description:
>>>                EMC timing characterization data. These are the registers
>>>                (see section "18.13.2 EMC Registers" in the TRM) whose values
>>> diff --git a/Documentation/devicetree/bindings/memory-controllers/nvidia,tegra30-mc.yaml b/Documentation/devicetree/bindings/memory-controllers/nvidia,tegra30-mc.yaml
>>> index 84fd57bcf0dc..4b9196c83291 100644
>>> --- a/Documentation/devicetree/bindings/memory-controllers/nvidia,tegra30-mc.yaml
>>> +++ b/Documentation/devicetree/bindings/memory-controllers/nvidia,tegra30-mc.yaml
>>> @@ -77,7 +77,8 @@ patternProperties:
>>>              maximum: 900000000
>>>
>>>            nvidia,emem-configuration:
>>> -            $ref: /schemas/types.yaml#/definitions/uint32-array
>>> +            allOf:
>>> +              - $ref: /schemas/types.yaml#/definitions/uint32-array
>>>              description: |
>>>                Values to be written to the EMEM register block. See section
>>>                "18.13.1 MC Registers" in the TRM.
>>>
>>
>> But the "nvidia,emem-configuration" doesn't have any extra constraints.
>> Or you just added the "allOf" for consistency to avoid possible future
>> copy-paste bugs?
> 
> It does have constraints. It has the 'items' list.

Right, I missed that array-size is also a constraint.

> Note that fixing it introduces an error which I'm in the process of
> fixing in the schema tool.

Okay!

>> Otherwise LGTM, thanks!
>>
>> Reviewed-by: Dmitry Osipenko <digetx@gmail.com>
> 
> Thanks.
> 
> Rob
>
diff mbox series

Patch

diff --git a/Documentation/devicetree/bindings/memory-controllers/nvidia,tegra124-mc.yaml b/Documentation/devicetree/bindings/memory-controllers/nvidia,tegra124-mc.yaml
index 30d9fb193d7f..22a94b6fdbde 100644
--- a/Documentation/devicetree/bindings/memory-controllers/nvidia,tegra124-mc.yaml
+++ b/Documentation/devicetree/bindings/memory-controllers/nvidia,tegra124-mc.yaml
@@ -60,7 +60,8 @@  patternProperties:
             maximum: 1066000000
 
           nvidia,emem-configuration:
-            $ref: /schemas/types.yaml#/definitions/uint32-array
+            allOf:
+              - $ref: /schemas/types.yaml#/definitions/uint32-array
             description: |
               Values to be written to the EMEM register block. See section
               "15.6.1 MC Registers" in the TRM.
diff --git a/Documentation/devicetree/bindings/memory-controllers/nvidia,tegra30-emc.yaml b/Documentation/devicetree/bindings/memory-controllers/nvidia,tegra30-emc.yaml
index 7fe0ca14e324..e4135bac6957 100644
--- a/Documentation/devicetree/bindings/memory-controllers/nvidia,tegra30-emc.yaml
+++ b/Documentation/devicetree/bindings/memory-controllers/nvidia,tegra30-emc.yaml
@@ -56,7 +56,8 @@  patternProperties:
             maximum: 900000000
 
           nvidia,emc-auto-cal-interval:
-            $ref: /schemas/types.yaml#/definitions/uint32
+            allOf:
+              - $ref: /schemas/types.yaml#/definitions/uint32
             description:
               Pad calibration interval in microseconds.
             minimum: 0
@@ -78,7 +79,8 @@  patternProperties:
               Mode Register 0.
 
           nvidia,emc-zcal-cnt-long:
-            $ref: /schemas/types.yaml#/definitions/uint32
+            allOf:
+              - $ref: /schemas/types.yaml#/definitions/uint32
             description:
               Number of EMC clocks to wait before issuing any commands after
               sending ZCAL_MRW_CMD.
@@ -96,7 +98,8 @@  patternProperties:
               FBIO "read" FIFO periodic resetting enabled.
 
           nvidia,emc-configuration:
-            $ref: /schemas/types.yaml#/definitions/uint32-array
+            allOf:
+              - $ref: /schemas/types.yaml#/definitions/uint32-array
             description:
               EMC timing characterization data. These are the registers
               (see section "18.13.2 EMC Registers" in the TRM) whose values
diff --git a/Documentation/devicetree/bindings/memory-controllers/nvidia,tegra30-mc.yaml b/Documentation/devicetree/bindings/memory-controllers/nvidia,tegra30-mc.yaml
index 84fd57bcf0dc..4b9196c83291 100644
--- a/Documentation/devicetree/bindings/memory-controllers/nvidia,tegra30-mc.yaml
+++ b/Documentation/devicetree/bindings/memory-controllers/nvidia,tegra30-mc.yaml
@@ -77,7 +77,8 @@  patternProperties:
             maximum: 900000000
 
           nvidia,emem-configuration:
-            $ref: /schemas/types.yaml#/definitions/uint32-array
+            allOf:
+              - $ref: /schemas/types.yaml#/definitions/uint32-array
             description: |
               Values to be written to the EMEM register block. See section
               "18.13.1 MC Registers" in the TRM.