Re: [PATCH v2 1/3] ASoC: dt-bindings: Add schema for common DAI params

From: Sameer Pujar
Date: Tue Aug 02 2022 - 06:46:10 EST


Hi Rob, Krzysztof

On 02-08-2022 01:00, Rob Herring wrote:
On Mon, 01 Aug 2022 21:37:30 +0530, Sameer Pujar wrote:
The "convert-channels" and "convert-rate" bindings are provided for both
simple-card and audio-graph-card. However these are separately defined in
their respective schemas. For any new binding addition, which is common to
both, there will be duplication.

Introduce a new schema to have common DAI params properties and these can
be re-used in other schemas wherever applicable.

Signed-off-by: Sameer Pujar <spujar@xxxxxxxxxx>
Cc: Kuninori Morimoto <kuninori.morimoto.gx@xxxxxxxxxxx>
---
.../bindings/sound/audio-graph-port.yaml | 13 ++++------
.../devicetree/bindings/sound/audio-graph.yaml | 7 +++---
.../devicetree/bindings/sound/dai-params.yaml | 28 ++++++++++++++++++++++
.../devicetree/bindings/sound/simple-card.yaml | 16 ++++---------
4 files changed, 40 insertions(+), 24 deletions(-)
create mode 100644 Documentation/devicetree/bindings/sound/dai-params.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:
/builds/robherring/linux-dt-review/Documentation/devicetree/bindings/sound/simple-card.yaml: properties:simple-audio-card,convert-rate: 'oneOf' conditional failed, one must be fixed:
'type' is a required property
hint: A vendor boolean property can use "type: boolean"
'description' is a required property
hint: A vendor boolean property can use "type: boolean"
Additional properties are not allowed ('$ref' was unexpected)
hint: A vendor boolean property can use "type: boolean"
/builds/robherring/linux-dt-review/Documentation/devicetree/bindings/sound/simple-card.yaml: properties:simple-audio-card,convert-rate: 'oneOf' conditional failed, one must be fixed:
'enum' is a required property
'const' is a required property
hint: A vendor string property with exact values has an implicit type
from schema $id: http://devicetree.org/meta-schemas/vendor-props.yaml#
'/schemas/sound/dai-params.yaml#/properties/dai-sample-rate' does not match 'types.yaml#/definitions/'
hint: A vendor property needs a $ref to types.yaml
'/schemas/sound/dai-params.yaml#/properties/dai-sample-rate' does not match '^#/(definitions|\\$defs)/'
hint: A vendor property can have a $ref to a a $defs schema
hint: Vendor specific properties must have a type and description unless they have a defined, common suffix.
from schema $id: http://devicetree.org/meta-schemas/vendor-props.yaml#

I am hitting this error if I use properties/definitions from another schema. If I define it locally, it works. I see there are examples where properties from different schema are used. But not able to understand why errors are seen in my case. Am I missing anything here?