Re: [PATCH RESEND] arm: topology: Fix missing clock-frequency property warning

From: Krzysztof Kozlowski
Date: Fri Feb 02 2024 - 05:59:59 EST


On 01/02/2024 16:03, Stefan Wiehler wrote:
>> Does this mean the /cpus property is like a default for when a CPU node
>> doesn't specify the clock frequency, or does it mean that the /cpus
>> property should only exist when all the values for each CPU are
>> identical and thus the individual CPU node clock frequency should
>> not be specified.
>
> Good question, the device tree specification in Section 3.7 [1] says:
>
> > The /cpus node may contain properties that are common across cpu
> nodes. See Section 3.8 for details.
>
> And in Section 3.8 [2]:
>
> > Properties that have identical values across cpu nodes may be placed
> > in the /cpus node instead. A client program must first examine a
> > specific cpu node, but if an expected property is not found then it
> > should look at the parent /cpus node. This results in a less verbose
> > representation of properties which are identical across all CPUs.
>
> So I think it is pretty clear that it should only be used for
> common/identical values.
>
>> Aren't you adding new property? Is it already documented in the
>> bindings? After a quick look I think this is not documented.
>
> You are right, clock-frequency is not mentioned neither in arm/cpus.yaml
> nor in any other <arch>/cpus.yaml binding, but the DT spec has it as a
> required property [3]. Should I add clock-frequency to all
> <arch>/cpus.yaml bindings? Only the ARM one explicitly mentions
> following the DT spec.

It should go to dtschema. dtschema cpu.yaml has it, so you need to
propose such to cpus.yaml, probably you could experiment with:
not:
- required:
- clock-frequency
- patternProperties:
cpu@....
- required:
- clock-frequency

Anyway, you cannot just keep adding some OF properties to the code
without documenting them.

Best regards,
Krzysztof