Re: [PATCH 1/2] ASoC: dt-bindings: Add adi,ssm3515 amp schema

From: Krzysztof Kozlowski
Date: Wed May 10 2023 - 04:23:43 EST


On 10/05/2023 10:15, Martin Povišer wrote:
>
>> On 10. 5. 2023, at 9:51, Krzysztof Kozlowski <krzysztof.kozlowski@xxxxxxxxxx> wrote:
>>
>> On 09/05/2023 18:38, Martin Povišer wrote:
>>> Add a DT schema for the SSM3515 amp by Analog Devices. It's a simple
>>> mono amplifier with digital input.
>>>
>>> Signed-off-by: Martin Povišer <povik+lin@xxxxxxxxxxx>
>>
>>
>>> + reg:
>>> + maxItems: 1
>>> +
>>> + adi,ana-gain:
>>> + $ref: /schemas/types.yaml#/definitions/uint32
>>> + enum: [0, 1, 2, 3]
>>> + description: |
>>> + The value to be set in the ANA_GAIN register field on the codec. This determines
>>> + the full voltage span of the codec's analog output.
>>> +
>>> + To quote the datasheet on the available options:
>>> +
>>> + 00: 8.4 V Full-Scale Gain Mapping
>>> + 01: 12.6 V Full-Scale Gain Mapping
>>> + 10: 14 V Full-Scale Gain Mapping
>>> + 11: 15 V Full-Scale Gain Mapping
>>> +
>>> + '#sound-dai-cells':
>>> + const: 0
>>> +
>>> +required:
>>> + - compatible
>>> + - reg
>>> + - adi,ana-gain
>>> +
>>> +additionalProperties: true
>>
>> uinevaluatedProperties: false instead, so users can have name-prefix.
>
> I actually tweaked this to have the example passing, which has sound-name-prefix,

true is not allowed anyway - it makes your schema simply not effective
almost at all as it allows anything...

> which I guess is what you have in mind. Not that I exactly understand what these
> options do (both additionalProperties and unevaluatedProperties), the schema docs
> didn’t enlighten me right away when I looked into it.

The way to go and to start always is to look at example-schema. It tells
you explicitly to use additionalProperties:false and switch to
unevaluated "If and only if another schema is referenced".


Best regards,
Krzysztof