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.