2020-11-11 15:27:44

by Adam Ford

[permalink] [raw]
Subject: [PATCH V4] dt-bindings: soc: imx: Add binding doc for spba bus

Add binding doc for fsl,spba-bus.

Signed-off-by: Adam Ford <[email protected]>
---
make dt_binding_check showed no errors if I did this right.

V4: Remove an accidental makefile change
Move type:object under additional properties

V3: Rebase sample from aips-bus example
Split off from series adding i.MX8M Nano functions to reduce noise

V2: Attempted to update yaml from feedback

diff --git a/Documentation/devicetree/bindings/bus/fsl,spba-bus.yaml b/Documentation/devicetree/bindings/bus/fsl,spba-bus.yaml
new file mode 100644
index 000000000000..48d0c27d2e77
--- /dev/null
+++ b/Documentation/devicetree/bindings/bus/fsl,spba-bus.yaml
@@ -0,0 +1,64 @@
+# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
+%YAML 1.2
+---
+$id: http://devicetree.org/schemas/bus/fsl,spba-bus.yaml#
+$schema: http://devicetree.org/meta-schemas/core.yaml#
+
+title: Shared Peripherals Bus Interface
+
+maintainers:
+ - Shawn Guo <[email protected]>
+
+description: |
+ A simple bus enabling access to shared peripherals.
+
+ The "spba-bus" follows the "simple-bus" set of properties, as
+ specified in the Devicetree Specification. It is an extension of
+ "simple-bus" because the SDMA controller uses this compatible flag to
+ determine which peripherals are available to it and the range over which
+ the SDMA can access. There are no special clocks for the bus, because
+ the SDMA controller itself has its interrupt, and clock assignments.
+
+select:
+ properties:
+ compatible:
+ contains:
+ const: fsl,spba-bus
+ required:
+ - compatible
+
+properties:
+ $nodename:
+ pattern: "^bus(@[0-9a-f]+)?$"
+
+ compatible:
+ items:
+ - const: fsl,spba-bus
+ - const: simple-bus
+
+ '#address-cells':
+ enum: [ 1, 2 ]
+
+ '#size-cells':
+ enum: [ 1, 2 ]
+
+ ranges: true
+
+required:
+ - compatible
+ - '#address-cells'
+ - '#size-cells'
+ - ranges
+
+additionalProperties:
+ type: object
+
+examples:
+ - |
+ bus@30000000 {
+ compatible = "fsl,spba-bus", "simple-bus";
+ #address-cells = <1>;
+ #size-cells = <1>;
+ reg = <0x30000000 0x100000>;
+ ranges;
+ };
--
2.25.1


2020-11-11 19:20:35

by Rob Herring (Arm)

[permalink] [raw]
Subject: Re: [PATCH V4] dt-bindings: soc: imx: Add binding doc for spba bus

On Wed, 11 Nov 2020 09:25:23 -0600, Adam Ford wrote:
> Add binding doc for fsl,spba-bus.
>
> Signed-off-by: Adam Ford <[email protected]>
> ---
> make dt_binding_check showed no errors if I did this right.
>
> V4: Remove an accidental makefile change
> Move type:object under additional properties
>
> V3: Rebase sample from aips-bus example
> Split off from series adding i.MX8M Nano functions to reduce noise
>
> V2: Attempted to update yaml from feedback
>


My bot found errors running 'make dt_binding_check' on your patch:

yamllint warnings/errors:

dtschema/dtc warnings/errors:
/builds/robherring/linux-dt-review/Documentation/devicetree/bindings/bus/fsl,spba-bus.example.dt.yaml: bus@30000000: reg: [[805306368, 1048576]] is not of type 'object'
From schema: /builds/robherring/linux-dt-review/Documentation/devicetree/bindings/bus/fsl,spba-bus.yaml


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

The base for the patch is generally the last rc1. Any dependencies
should be noted.

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.

2020-11-12 11:48:01

by Adam Ford

[permalink] [raw]
Subject: Re: [PATCH V4] dt-bindings: soc: imx: Add binding doc for spba bus

On Wed, Nov 11, 2020 at 2:18 PM Rob Herring <[email protected]> wrote:
>
> On Wed, 11 Nov 2020 09:25:23 -0600, Adam Ford wrote:
> > Add binding doc for fsl,spba-bus.
> >
> > Signed-off-by: Adam Ford <[email protected]>
> > ---
> > make dt_binding_check showed no errors if I did this right.
> >
> > V4: Remove an accidental makefile change
> > Move type:object under additional properties
> >
> > V3: Rebase sample from aips-bus example
> > Split off from series adding i.MX8M Nano functions to reduce noise
> >
> > V2: Attempted to update yaml from feedback
> >
>
>
> My bot found errors running 'make dt_binding_check' on your patch:
>
> yamllint warnings/errors:
>
> dtschema/dtc warnings/errors:
> /builds/robherring/linux-dt-review/Documentation/devicetree/bindings/bus/fsl,spba-bus.example.dt.yaml: bus@30000000: reg: [[805306368, 1048576]] is not of type 'object'
> From schema: /builds/robherring/linux-dt-review/Documentation/devicetree/bindings/bus/fsl,spba-bus.yaml
>

Rob,

Can you give me a pointer on what this message is saying? I don't
undertsand the YAML language, and I cannot get my machine to generate
the same messages you're seeing.
>
> See https://patchwork.ozlabs.org/patch/1398351
>
> The base for the patch is generally the last rc1. Any dependencies
> should be noted.
>
> 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

I have installed yamllint, and I have run the above line, but when I
run make dt_binding_check it fails to finish script even before I add
this new binding. If I revert the Makefile back to before the
implementation of yamllint, it works, but doesn't show the error.
When I restore the Makefile, it runs but it doesn't show the error.
Once I do a make clean, and run the dt_binding_check again, it fails
to finish with the following error

make[1]: *** [Documentation/devicetree/bindings/Makefile:59:
Documentation/devicetree/bindings/processed-schema-examples.json]
Error 123

It appears as if the processed-schema-examples.json is not generated at all.

When I revert back to the older makefile, it appears that file is
generated, but when I restore the makefile to the current version and
run it again, it doesn't show the dtschema warnings/errors you see.
I am guessing it's because the processed-schema-examples.json isn't
being generated correctly after I run make clean.

Do you have any ideas what might be missing from my build machine?

adam

>
> Please check and re-submit.
>

2020-11-12 13:56:42

by Rob Herring (Arm)

[permalink] [raw]
Subject: Re: [PATCH V4] dt-bindings: soc: imx: Add binding doc for spba bus

On Thu, Nov 12, 2020 at 5:44 AM Adam Ford <[email protected]> wrote:
>
> On Wed, Nov 11, 2020 at 2:18 PM Rob Herring <[email protected]> wrote:
> >
> > On Wed, 11 Nov 2020 09:25:23 -0600, Adam Ford wrote:
> > > Add binding doc for fsl,spba-bus.
> > >
> > > Signed-off-by: Adam Ford <[email protected]>
> > > ---
> > > make dt_binding_check showed no errors if I did this right.
> > >
> > > V4: Remove an accidental makefile change
> > > Move type:object under additional properties
> > >
> > > V3: Rebase sample from aips-bus example
> > > Split off from series adding i.MX8M Nano functions to reduce noise
> > >
> > > V2: Attempted to update yaml from feedback
> > >
> >
> >
> > My bot found errors running 'make dt_binding_check' on your patch:
> >
> > yamllint warnings/errors:
> >
> > dtschema/dtc warnings/errors:
> > /builds/robherring/linux-dt-review/Documentation/devicetree/bindings/bus/fsl,spba-bus.example.dt.yaml: bus@30000000: reg: [[805306368, 1048576]] is not of type 'object'
> > From schema: /builds/robherring/linux-dt-review/Documentation/devicetree/bindings/bus/fsl,spba-bus.yaml
> >
>
> Rob,
>
> Can you give me a pointer on what this message is saying? I don't
> undertsand the YAML language, and I cannot get my machine to generate
> the same messages you're seeing.

'reg' is not documented, so it's defaulting to the schema in
'additionalProperties' which says anything else has to be a node
(which is an 'object' in json-schema).

> >
> > See https://patchwork.ozlabs.org/patch/1398351
> >
> > The base for the patch is generally the last rc1. Any dependencies
> > should be noted.
> >
> > 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
>
> I have installed yamllint, and I have run the above line, but when I
> run make dt_binding_check it fails to finish script even before I add
> this new binding. If I revert the Makefile back to before the
> implementation of yamllint, it works, but doesn't show the error.
> When I restore the Makefile, it runs but it doesn't show the error.
> Once I do a make clean, and run the dt_binding_check again, it fails
> to finish with the following error
>
> make[1]: *** [Documentation/devicetree/bindings/Makefile:59:
> Documentation/devicetree/bindings/processed-schema-examples.json]
> Error 123
>
> It appears as if the processed-schema-examples.json is not generated at all.
>
> When I revert back to the older makefile, it appears that file is
> generated, but when I restore the makefile to the current version and
> run it again, it doesn't show the dtschema warnings/errors you see.
> I am guessing it's because the processed-schema-examples.json isn't
> being generated correctly after I run make clean.
>
> Do you have any ideas what might be missing from my build machine?

What tree? v5.10-rc3 landed some changes that shouldn't have gone in
and broke dt_binding_check. In any case, you can use 'make -k' to work
around any unrelated failure.

Rob

2020-11-18 12:18:13

by Adam Ford

[permalink] [raw]
Subject: Re: [PATCH V4] dt-bindings: soc: imx: Add binding doc for spba bus

On Thu, Nov 12, 2020 at 7:52 AM Rob Herring <[email protected]> wrote:
>
> On Thu, Nov 12, 2020 at 5:44 AM Adam Ford <[email protected]> wrote:
> >
> > On Wed, Nov 11, 2020 at 2:18 PM Rob Herring <[email protected]> wrote:
> > >
> > > On Wed, 11 Nov 2020 09:25:23 -0600, Adam Ford wrote:
> > > > Add binding doc for fsl,spba-bus.
> > > >
> > > > Signed-off-by: Adam Ford <[email protected]>
> > > > ---
> > > > make dt_binding_check showed no errors if I did this right.
> > > >
> > > > V4: Remove an accidental makefile change
> > > > Move type:object under additional properties
> > > >
> > > > V3: Rebase sample from aips-bus example
> > > > Split off from series adding i.MX8M Nano functions to reduce noise
> > > >
> > > > V2: Attempted to update yaml from feedback
> > > >
> > >
> > >
> > > My bot found errors running 'make dt_binding_check' on your patch:
> > >
> > > yamllint warnings/errors:
> > >
> > > dtschema/dtc warnings/errors:
> > > /builds/robherring/linux-dt-review/Documentation/devicetree/bindings/bus/fsl,spba-bus.example.dt.yaml: bus@30000000: reg: [[805306368, 1048576]] is not of type 'object'
> > > From schema: /builds/robherring/linux-dt-review/Documentation/devicetree/bindings/bus/fsl,spba-bus.yaml
> > >
> >
> > Rob,
> >
> > Can you give me a pointer on what this message is saying? I don't
> > undertsand the YAML language, and I cannot get my machine to generate
> > the same messages you're seeing.
>
> 'reg' is not documented, so it's defaulting to the schema in
> 'additionalProperties' which says anything else has to be a node
> (which is an 'object' in json-schema).
>
> > >
> > > See https://patchwork.ozlabs.org/patch/1398351
> > >
> > > The base for the patch is generally the last rc1. Any dependencies
> > > should be noted.
> > >
> > > 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
> >
> > I have installed yamllint, and I have run the above line, but when I
> > run make dt_binding_check it fails to finish script even before I add
> > this new binding. If I revert the Makefile back to before the
> > implementation of yamllint, it works, but doesn't show the error.
> > When I restore the Makefile, it runs but it doesn't show the error.
> > Once I do a make clean, and run the dt_binding_check again, it fails
> > to finish with the following error
> >
> > make[1]: *** [Documentation/devicetree/bindings/Makefile:59:
> > Documentation/devicetree/bindings/processed-schema-examples.json]
> > Error 123
> >
> > It appears as if the processed-schema-examples.json is not generated at all.
> >
> > When I revert back to the older makefile, it appears that file is
> > generated, but when I restore the makefile to the current version and
> > run it again, it doesn't show the dtschema warnings/errors you see.
> > I am guessing it's because the processed-schema-examples.json isn't
> > being generated correctly after I run make clean.
> >
> > Do you have any ideas what might be missing from my build machine?
>
> What tree? v5.10-rc3 landed some changes that shouldn't have gone in
> and broke dt_binding_check. In any case, you can use 'make -k' to work
> around any unrelated failure.

Rob,

I went and pulled a clean copy of 5.10-RC1 and did "make
dt_binding_check -k" without adding my patch or modifying the branch
in any way.

After a bunch of DTEX, then starts to give feedback from various yaml
files like wrong intendentation, etc. I can give you a larger log
dump if you want.

Then I get the error message again:
./Documentation/devicetree/bindings/mmc/arasan,sdhci.yaml:35:15:
[warning] wrong indentation: expected 16 but found 14 (indentation)
./Documentation/devicetree/bindings/mmc/arasan,sdhci.yaml:38:15:
[warning] wrong indentation: expected 16 but found 14 (indentation)
./Documentation/devicetree/bindings/eeprom/at25.yaml:84:8: [warning]
wrong indentation: expected 6 but found 7 (indentation)
./Documentation/devicetree/bindings/eeprom/at25.yaml:90:8: [warning]
wrong indentation: expected 6 but found 7 (indentation)
make[1]: *** [Documentation/devicetree/bindings/Makefile:59:
Documentation/devicetree/bindings/processed-schema-examples.json]
Error 123
make[1]: Target '__build' not remade because of errors.
make: *** [Makefile:1364: dt_binding_check] Error 2

It appears that
Documentation/devicetree/bindings/processed-schema-examples.json was
not generated.

I went through the writing-schema.rst file to see what/if anything I
am missing, but as far as I can tell, I have everything installed.
I did " pip3 install
git+https://github.com/devicetree-org/dt-schema.git@master" and "
"apt-get install libyaml-dev"

I am running Ubuntu 20.04 if that helps.

thanks for any suggestions you might have.

adam

>
> Rob

2020-11-18 15:02:37

by Rob Herring (Arm)

[permalink] [raw]
Subject: Re: [PATCH V4] dt-bindings: soc: imx: Add binding doc for spba bus

On Wed, Nov 18, 2020 at 6:13 AM Adam Ford <[email protected]> wrote:
>
> On Thu, Nov 12, 2020 at 7:52 AM Rob Herring <[email protected]> wrote:
> >
> > On Thu, Nov 12, 2020 at 5:44 AM Adam Ford <[email protected]> wrote:
> > >
> > > On Wed, Nov 11, 2020 at 2:18 PM Rob Herring <[email protected]> wrote:
> > > >
> > > > On Wed, 11 Nov 2020 09:25:23 -0600, Adam Ford wrote:
> > > > > Add binding doc for fsl,spba-bus.
> > > > >
> > > > > Signed-off-by: Adam Ford <[email protected]>
> > > > > ---
> > > > > make dt_binding_check showed no errors if I did this right.
> > > > >
> > > > > V4: Remove an accidental makefile change
> > > > > Move type:object under additional properties
> > > > >
> > > > > V3: Rebase sample from aips-bus example
> > > > > Split off from series adding i.MX8M Nano functions to reduce noise
> > > > >
> > > > > V2: Attempted to update yaml from feedback
> > > > >
> > > >
> > > >
> > > > My bot found errors running 'make dt_binding_check' on your patch:
> > > >
> > > > yamllint warnings/errors:
> > > >
> > > > dtschema/dtc warnings/errors:
> > > > /builds/robherring/linux-dt-review/Documentation/devicetree/bindings/bus/fsl,spba-bus.example.dt.yaml: bus@30000000: reg: [[805306368, 1048576]] is not of type 'object'
> > > > From schema: /builds/robherring/linux-dt-review/Documentation/devicetree/bindings/bus/fsl,spba-bus.yaml
> > > >
> > >
> > > Rob,
> > >
> > > Can you give me a pointer on what this message is saying? I don't
> > > undertsand the YAML language, and I cannot get my machine to generate
> > > the same messages you're seeing.
> >
> > 'reg' is not documented, so it's defaulting to the schema in
> > 'additionalProperties' which says anything else has to be a node
> > (which is an 'object' in json-schema).
> >
> > > >
> > > > See https://patchwork.ozlabs.org/patch/1398351
> > > >
> > > > The base for the patch is generally the last rc1. Any dependencies
> > > > should be noted.
> > > >
> > > > 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
> > >
> > > I have installed yamllint, and I have run the above line, but when I
> > > run make dt_binding_check it fails to finish script even before I add
> > > this new binding. If I revert the Makefile back to before the
> > > implementation of yamllint, it works, but doesn't show the error.
> > > When I restore the Makefile, it runs but it doesn't show the error.
> > > Once I do a make clean, and run the dt_binding_check again, it fails
> > > to finish with the following error
> > >
> > > make[1]: *** [Documentation/devicetree/bindings/Makefile:59:
> > > Documentation/devicetree/bindings/processed-schema-examples.json]
> > > Error 123
> > >
> > > It appears as if the processed-schema-examples.json is not generated at all.
> > >
> > > When I revert back to the older makefile, it appears that file is
> > > generated, but when I restore the makefile to the current version and
> > > run it again, it doesn't show the dtschema warnings/errors you see.
> > > I am guessing it's because the processed-schema-examples.json isn't
> > > being generated correctly after I run make clean.
> > >
> > > Do you have any ideas what might be missing from my build machine?
> >
> > What tree? v5.10-rc3 landed some changes that shouldn't have gone in
> > and broke dt_binding_check. In any case, you can use 'make -k' to work
> > around any unrelated failure.
>
> Rob,
>
> I went and pulled a clean copy of 5.10-RC1 and did "make
> dt_binding_check -k" without adding my patch or modifying the branch
> in any way.

Oh right, since it's 1 rule now, -k isn't going to help. Use -rc2
which has fixes needed. Or comment out running yamllint in
.../bindings/Makefile

I'm going to change it to ignore yamllint errors.

>
> After a bunch of DTEX, then starts to give feedback from various yaml
> files like wrong intendentation, etc. I can give you a larger log
> dump if you want.
>
> Then I get the error message again:
> ./Documentation/devicetree/bindings/mmc/arasan,sdhci.yaml:35:15:
> [warning] wrong indentation: expected 16 but found 14 (indentation)
> ./Documentation/devicetree/bindings/mmc/arasan,sdhci.yaml:38:15:
> [warning] wrong indentation: expected 16 but found 14 (indentation)
> ./Documentation/devicetree/bindings/eeprom/at25.yaml:84:8: [warning]
> wrong indentation: expected 6 but found 7 (indentation)
> ./Documentation/devicetree/bindings/eeprom/at25.yaml:90:8: [warning]
> wrong indentation: expected 6 but found 7 (indentation)
> make[1]: *** [Documentation/devicetree/bindings/Makefile:59:
> Documentation/devicetree/bindings/processed-schema-examples.json]
> Error 123
> make[1]: Target '__build' not remade because of errors.
> make: *** [Makefile:1364: dt_binding_check] Error 2
>
> It appears that
> Documentation/devicetree/bindings/processed-schema-examples.json was
> not generated.
>
> I went through the writing-schema.rst file to see what/if anything I
> am missing, but as far as I can tell, I have everything installed.
> I did " pip3 install
> git+https://github.com/devicetree-org/dt-schema.git@master" and "
> "apt-get install libyaml-dev"
>
> I am running Ubuntu 20.04 if that helps.
>
> thanks for any suggestions you might have.
>
> adam
>
> >
> > Rob