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

Rob Herring robh at kernel.org
Tue Aug 2 16:46:02 CEST 2022


On Tue, Aug 02, 2022 at 04:15:28PM +0530, Sameer Pujar wrote:
> 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 at nvidia.com>
> > > Cc: Kuninori Morimoto <kuninori.morimoto.gx at renesas.com>
> > > ---
> > >   .../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?

You either need to use 'properties' with actual property names and 
reference that schema from the node level. Or you use '$defs' if you are 
going to have references from the (DT) property level. I think I'd just 
leave simple-card out of this and do the former.


More information about the Alsa-devel mailing list