Re: [PATCH v8 06/34] dt-bindings: clock: tegra-car: Document new tegra-clocks sub-node

From: Dmitry Osipenko
Date: Wed Aug 18 2021 - 11:04:32 EST


18.08.2021 16:52, Thierry Reding пишет:
> On Wed, Aug 18, 2021 at 04:44:30AM +0300, Dmitry Osipenko wrote:
>> 18.08.2021 04:15, Rob Herring пишет:
>>>> + tegra-clocks:
>>>> + description: child nodes are the output clocks from the CAR
>>>> + type: object
>>>> +
>>>> + patternProperties:
>>>> + "^[a-z]+[0-9]+$":
>>>> + type: object
>>>> + properties:
>>>> + compatible:
>>>> + allOf:
>>>> + - items:
>>>> + - enum:
>>>> + - nvidia,tegra20-sclk
>>>> + - nvidia,tegra30-sclk
>>>> + - nvidia,tegra30-pllc
>>>> + - nvidia,tegra30-plle
>>>> + - nvidia,tegra30-pllm
>>>> + - const: nvidia,tegra-clock
>>> You are saying the first string must be both one of the enums and
>>> 'nvidia,tegra-clock'. You don't get an error because your pattern
>>> doesn't match 'sclk'.
>>>
>>
>> Could you please rephrase or clarify? If pattern doesn't match 'sclk',
>> then it must match any other enum. I'm not sure what you're meaning.
>
> "sclk" doesn't match "^[a-z]+[0-9]+$" because it's missing at least one
> digit at the end. Perhaps that last + was supposed to be *?

Ah, the regex pattern. Yes, I forgot to update it.

>> The 'nvidia,tegra-clock' actually could be removed since it's
>> superfluous now. I'll consider the removal in v9.
>
> It also looks like your schema was meant to be something like:
>
> compatible:
> - items:
> - enum:
> - nvidia,tegra20-sclk
> - nvidia,tegra30-sclk
> - nvidia,tegra30-pllc
> - nvidia,tegra30-plle
> - nvidia,tegra30-pllm
> - const: nvidia,tegra-clock
>
> Note how the const: element is indented one more level. Now this means:
> one of the enumeration values, followed by the constant value. That
> matches what the example has.
>
> That said, I agree that nvidia,tegra-clock seems a bit useless. There's
> really no such thing as a generic clock, they're all different in some
> way.

It's a leftover from older versions of this patchset, I'll remove it.