diff mbox series

[v2,1/3] ASoC: Add json-schema documentation for sound-name-prefix

Message ID 1630562033-13231-2-git-send-email-spujar@nvidia.com (mailing list archive)
State Superseded
Headers show
Series Convert name-prefix doc to json-schema | expand

Commit Message

Sameer Pujar Sept. 2, 2021, 5:53 a.m. UTC
The 'sound-name-prefix' is used to prepend suitable strings to a
component widgets or controls. This is helpful when there are
multiple instances of the same component. Add relevant json-schema
and is inspired from sound-name-prefix.txt documentation.

Signed-off-by: Sameer Pujar <spujar@nvidia.com>
Cc: Jerome Brunet <jbrunet@baylibre.com>
Cc: Rob Herring <robh+dt@kernel.org>
---
 .../devicetree/bindings/sound/name-prefix.yaml     | 35 ++++++++++++++++++++++
 1 file changed, 35 insertions(+)
 create mode 100644 Documentation/devicetree/bindings/sound/name-prefix.yaml

Comments

Rob Herring Sept. 2, 2021, 12:03 p.m. UTC | #1
On Thu, 02 Sep 2021 11:23:51 +0530, Sameer Pujar wrote:
> The 'sound-name-prefix' is used to prepend suitable strings to a
> component widgets or controls. This is helpful when there are
> multiple instances of the same component. Add relevant json-schema
> and is inspired from sound-name-prefix.txt documentation.
> 
> Signed-off-by: Sameer Pujar <spujar@nvidia.com>
> Cc: Jerome Brunet <jbrunet@baylibre.com>
> Cc: Rob Herring <robh+dt@kernel.org>
> ---
>  .../devicetree/bindings/sound/name-prefix.yaml     | 35 ++++++++++++++++++++++
>  1 file changed, 35 insertions(+)
>  create mode 100644 Documentation/devicetree/bindings/sound/name-prefix.yaml
> 

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:
Documentation/devicetree/bindings/sound/name-prefix.example.dts:19.28-22.11: Warning (unit_address_vs_reg): /example-0/analog-amplifier@0: node has a unit name, but no reg or ranges property
Documentation/devicetree/bindings/sound/name-prefix.example.dts:24.28-27.11: Warning (unit_address_vs_reg): /example-0/analog-amplifier@1: node has a unit name, but no reg or ranges property
Documentation/devicetree/bindings/sound/name-prefix.example.dt.yaml:0:0: /example-0/analog-amplifier@0: failed to match any schema with compatible: ['simple-audio-amplifier']
Documentation/devicetree/bindings/sound/name-prefix.example.dt.yaml:0:0: /example-0/analog-amplifier@1: failed to match any schema with compatible: ['simple-audio-amplifier']

doc reference errors (make refcheckdocs):

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

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.
Jerome Brunet Sept. 2, 2021, 12:47 p.m. UTC | #2
On Thu 02 Sep 2021 at 11:23, Sameer Pujar <spujar@nvidia.com> wrote:

> The 'sound-name-prefix' is used to prepend suitable strings to a
> component widgets or controls. This is helpful when there are
> multiple instances of the same component. Add relevant json-schema
> and is inspired from sound-name-prefix.txt documentation.
>
> Signed-off-by: Sameer Pujar <spujar@nvidia.com>
> Cc: Jerome Brunet <jbrunet@baylibre.com>
> Cc: Rob Herring <robh+dt@kernel.org>
> ---
>  .../devicetree/bindings/sound/name-prefix.yaml     | 35 ++++++++++++++++++++++
>  1 file changed, 35 insertions(+)
>  create mode 100644 Documentation/devicetree/bindings/sound/name-prefix.yaml
>
> diff --git a/Documentation/devicetree/bindings/sound/name-prefix.yaml b/Documentation/devicetree/bindings/sound/name-prefix.yaml
> new file mode 100644
> index 00000000..b58cc9e
> --- /dev/null
> +++ b/Documentation/devicetree/bindings/sound/name-prefix.yaml
> @@ -0,0 +1,35 @@
> +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
> +%YAML 1.2
> +---
> +$id: http://devicetree.org/schemas/sound/name-prefix.yaml#
> +$schema: http://devicetree.org/meta-schemas/core.yaml#
> +
> +title: Component sound name prefix
> +
> +maintainers:
> +  - Jerome Brunet <jbrunet@baylibre.com>

Since this file is referenced using "AllOf", am I going to be listed as
maintainer of all the drivers using the property below ? I'm not sure I
want that ... :P

Maybe it would be better to drop the above ?

> +
> +properties:
> +  sound-name-prefix:
> +    $ref: /schemas/types.yaml#/definitions/string
> +    description: |
> +      Card implementing the routing property define the connection between
> +      audio components as list of string pair. Component using the same
> +      sink/source names may use this property to prepend the name of their
> +      sinks/sources with the provided string.
> +
> +additionalProperties: true
> +
> +examples:
> +  - |
> +    analog-amplifier@0 {
> +        compatible = "simple-audio-amplifier";
> +        sound-name-prefix = "FRONT";
> +    };
> +
> +    analog-amplifier@1 {
> +        compatible = "simple-audio-amplifier";
> +        sound-name-prefix = "BACK";
> +    };
> +
> +...
Sameer Pujar Sept. 2, 2021, 4:22 p.m. UTC | #3
On 9/2/2021 6:17 PM, Jerome Brunet wrote:
> External email: Use caution opening links or attachments
>
>
> On Thu 02 Sep 2021 at 11:23, Sameer Pujar <spujar@nvidia.com> wrote:
>
>> The 'sound-name-prefix' is used to prepend suitable strings to a
>> component widgets or controls. This is helpful when there are
>> multiple instances of the same component. Add relevant json-schema
>> and is inspired from sound-name-prefix.txt documentation.
>>
>> Signed-off-by: Sameer Pujar <spujar@nvidia.com>
>> Cc: Jerome Brunet <jbrunet@baylibre.com>
>> Cc: Rob Herring <robh+dt@kernel.org>
>> ---
>>   .../devicetree/bindings/sound/name-prefix.yaml     | 35 ++++++++++++++++++++++
>>   1 file changed, 35 insertions(+)
>>   create mode 100644 Documentation/devicetree/bindings/sound/name-prefix.yaml
>>
>> diff --git a/Documentation/devicetree/bindings/sound/name-prefix.yaml b/Documentation/devicetree/bindings/sound/name-prefix.yaml
>> new file mode 100644
>> index 00000000..b58cc9e
>> --- /dev/null
>> +++ b/Documentation/devicetree/bindings/sound/name-prefix.yaml
>> @@ -0,0 +1,35 @@
>> +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
>> +%YAML 1.2
>> +---
>> +$id: http://devicetree.org/schemas/sound/name-prefix.yaml#
>> +$schema: http://devicetree.org/meta-schemas/core.yaml#
>> +
>> +title: Component sound name prefix
>> +
>> +maintainers:
>> +  - Jerome Brunet <jbrunet@baylibre.com>
> Since this file is referenced using "AllOf", am I going to be listed as
> maintainer of all the drivers using the property below ? I'm not sure I
> want that ... :P
>
> Maybe it would be better to drop the above ?

The 'maintainers' seems to be a mandatory field. To address above may be 
drop the top level reference and refer the property directly via a 
definition if the earlier method [in v1] was not appropriate?
Rob Herring Sept. 2, 2021, 7:25 p.m. UTC | #4
On Thu, Sep 02, 2021 at 02:47:27PM +0200, Jerome Brunet wrote:
> 
> On Thu 02 Sep 2021 at 11:23, Sameer Pujar <spujar@nvidia.com> wrote:
> 
> > The 'sound-name-prefix' is used to prepend suitable strings to a
> > component widgets or controls. This is helpful when there are
> > multiple instances of the same component. Add relevant json-schema
> > and is inspired from sound-name-prefix.txt documentation.
> >
> > Signed-off-by: Sameer Pujar <spujar@nvidia.com>
> > Cc: Jerome Brunet <jbrunet@baylibre.com>
> > Cc: Rob Herring <robh+dt@kernel.org>
> > ---
> >  .../devicetree/bindings/sound/name-prefix.yaml     | 35 ++++++++++++++++++++++
> >  1 file changed, 35 insertions(+)
> >  create mode 100644 Documentation/devicetree/bindings/sound/name-prefix.yaml
> >
> > diff --git a/Documentation/devicetree/bindings/sound/name-prefix.yaml b/Documentation/devicetree/bindings/sound/name-prefix.yaml
> > new file mode 100644
> > index 00000000..b58cc9e
> > --- /dev/null
> > +++ b/Documentation/devicetree/bindings/sound/name-prefix.yaml
> > @@ -0,0 +1,35 @@
> > +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
> > +%YAML 1.2
> > +---
> > +$id: http://devicetree.org/schemas/sound/name-prefix.yaml#
> > +$schema: http://devicetree.org/meta-schemas/core.yaml#
> > +
> > +title: Component sound name prefix
> > +
> > +maintainers:
> > +  - Jerome Brunet <jbrunet@baylibre.com>
> 
> Since this file is referenced using "AllOf", am I going to be listed as
> maintainer of all the drivers using the property below ? I'm not sure I
> want that ... :P

No. That's not how it works. You're maintainer of files that list you as 
maintainer.

> Maybe it would be better to drop the above ?
> 
> > +
> > +properties:
> > +  sound-name-prefix:
> > +    $ref: /schemas/types.yaml#/definitions/string
> > +    description: |
> > +      Card implementing the routing property define the connection between
> > +      audio components as list of string pair. Component using the same
> > +      sink/source names may use this property to prepend the name of their
> > +      sinks/sources with the provided string.
> > +
> > +additionalProperties: true
> > +
> > +examples:
> > +  - |
> > +    analog-amplifier@0 {
> > +        compatible = "simple-audio-amplifier";
> > +        sound-name-prefix = "FRONT";
> > +    };
> > +
> > +    analog-amplifier@1 {
> > +        compatible = "simple-audio-amplifier";
> > +        sound-name-prefix = "BACK";
> > +    };
> > +
> > +...
> 
>
Rob Herring Sept. 2, 2021, 7:27 p.m. UTC | #5
On Thu, Sep 02, 2021 at 07:03:59AM -0500, Rob Herring wrote:
> On Thu, 02 Sep 2021 11:23:51 +0530, Sameer Pujar wrote:
> > The 'sound-name-prefix' is used to prepend suitable strings to a
> > component widgets or controls. This is helpful when there are
> > multiple instances of the same component. Add relevant json-schema
> > and is inspired from sound-name-prefix.txt documentation.
> > 
> > Signed-off-by: Sameer Pujar <spujar@nvidia.com>
> > Cc: Jerome Brunet <jbrunet@baylibre.com>
> > Cc: Rob Herring <robh+dt@kernel.org>
> > ---
> >  .../devicetree/bindings/sound/name-prefix.yaml     | 35 ++++++++++++++++++++++
> >  1 file changed, 35 insertions(+)
> >  create mode 100644 Documentation/devicetree/bindings/sound/name-prefix.yaml
> > 
> 
> 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:
> Documentation/devicetree/bindings/sound/name-prefix.example.dts:19.28-22.11: Warning (unit_address_vs_reg): /example-0/analog-amplifier@0: node has a unit name, but no reg or ranges property
> Documentation/devicetree/bindings/sound/name-prefix.example.dts:24.28-27.11: Warning (unit_address_vs_reg): /example-0/analog-amplifier@1: node has a unit name, but no reg or ranges property
> Documentation/devicetree/bindings/sound/name-prefix.example.dt.yaml:0:0: /example-0/analog-amplifier@0: failed to match any schema with compatible: ['simple-audio-amplifier']
> Documentation/devicetree/bindings/sound/name-prefix.example.dt.yaml:0:0: /example-0/analog-amplifier@1: failed to match any schema with compatible: ['simple-audio-amplifier']

I'd suggest you just drop the example. This schema is not a complete 
binding.

Rob
Jerome Brunet Sept. 3, 2021, 8:29 a.m. UTC | #6
On Thu 02 Sep 2021 at 14:25, Rob Herring <robh@kernel.org> wrote:

> On Thu, Sep 02, 2021 at 02:47:27PM +0200, Jerome Brunet wrote:
>> 
>> On Thu 02 Sep 2021 at 11:23, Sameer Pujar <spujar@nvidia.com> wrote:
>> 
>> > The 'sound-name-prefix' is used to prepend suitable strings to a
>> > component widgets or controls. This is helpful when there are
>> > multiple instances of the same component. Add relevant json-schema
>> > and is inspired from sound-name-prefix.txt documentation.
>> >
>> > Signed-off-by: Sameer Pujar <spujar@nvidia.com>
>> > Cc: Jerome Brunet <jbrunet@baylibre.com>
>> > Cc: Rob Herring <robh+dt@kernel.org>
>> > ---
>> >  .../devicetree/bindings/sound/name-prefix.yaml     | 35 ++++++++++++++++++++++
>> >  1 file changed, 35 insertions(+)
>> >  create mode 100644 Documentation/devicetree/bindings/sound/name-prefix.yaml
>> >
>> > diff --git a/Documentation/devicetree/bindings/sound/name-prefix.yaml b/Documentation/devicetree/bindings/sound/name-prefix.yaml
>> > new file mode 100644
>> > index 00000000..b58cc9e
>> > --- /dev/null
>> > +++ b/Documentation/devicetree/bindings/sound/name-prefix.yaml
>> > @@ -0,0 +1,35 @@
>> > +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
>> > +%YAML 1.2
>> > +---
>> > +$id: http://devicetree.org/schemas/sound/name-prefix.yaml#
>> > +$schema: http://devicetree.org/meta-schemas/core.yaml#
>> > +
>> > +title: Component sound name prefix
>> > +
>> > +maintainers:
>> > +  - Jerome Brunet <jbrunet@baylibre.com>
>> 
>> Since this file is referenced using "AllOf", am I going to be listed as
>> maintainer of all the drivers using the property below ? I'm not sure I
>> want that ... :P
>
> No. That's not how it works. You're maintainer of files that list you as 
> maintainer.

Thanks for clarifying.
You can ignore my comment then Sameer. 

>
>> Maybe it would be better to drop the above ?
>> 
>> > +
>> > +properties:
>> > +  sound-name-prefix:
>> > +    $ref: /schemas/types.yaml#/definitions/string
>> > +    description: |
>> > +      Card implementing the routing property define the connection between
>> > +      audio components as list of string pair. Component using the same
>> > +      sink/source names may use this property to prepend the name of their
>> > +      sinks/sources with the provided string.
>> > +
>> > +additionalProperties: true
>> > +
>> > +examples:
>> > +  - |
>> > +    analog-amplifier@0 {
>> > +        compatible = "simple-audio-amplifier";
>> > +        sound-name-prefix = "FRONT";
>> > +    };
>> > +
>> > +    analog-amplifier@1 {
>> > +        compatible = "simple-audio-amplifier";
>> > +        sound-name-prefix = "BACK";
>> > +    };
>> > +
>> > +...
>> 
>>
diff mbox series

Patch

diff --git a/Documentation/devicetree/bindings/sound/name-prefix.yaml b/Documentation/devicetree/bindings/sound/name-prefix.yaml
new file mode 100644
index 00000000..b58cc9e
--- /dev/null
+++ b/Documentation/devicetree/bindings/sound/name-prefix.yaml
@@ -0,0 +1,35 @@ 
+# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
+%YAML 1.2
+---
+$id: http://devicetree.org/schemas/sound/name-prefix.yaml#
+$schema: http://devicetree.org/meta-schemas/core.yaml#
+
+title: Component sound name prefix
+
+maintainers:
+  - Jerome Brunet <jbrunet@baylibre.com>
+
+properties:
+  sound-name-prefix:
+    $ref: /schemas/types.yaml#/definitions/string
+    description: |
+      Card implementing the routing property define the connection between
+      audio components as list of string pair. Component using the same
+      sink/source names may use this property to prepend the name of their
+      sinks/sources with the provided string.
+
+additionalProperties: true
+
+examples:
+  - |
+    analog-amplifier@0 {
+        compatible = "simple-audio-amplifier";
+        sound-name-prefix = "FRONT";
+    };
+
+    analog-amplifier@1 {
+        compatible = "simple-audio-amplifier";
+        sound-name-prefix = "BACK";
+    };
+
+...