Re: #thermal-sensor-cells under protocol@15

Laszlo Ersek <[email protected]> Wed, 29 Jul 2026 15:34:51 +0200
Newsgroups org.kernel.vger.arm-scmi,org.kernel.vger.linux-devicetree
Message-ID <[email protected]>
On 7/29/26 15:30, Sudeep Holla wrote:
> On Wed, Jul 29, 2026 at 11:20:54AM +0200, Laszlo Ersek wrote:
>> On 7/28/26 22:10, Sudeep Holla wrote:
>>
>>> The cells property is not for the SCMI sensor itself, it is for the
>>> consumer of this node which currently is only thermal subsystem.
>>
>>> On Tue, Jul 28, 2026 at 04:33:59PM +0200, Laszlo Ersek wrote:
>>>> (3) Where exactly does the kernel consume "#thermal-sensor-cells" in
>>>> the proposed (general) sense?
>>>>
>>>
>>> No where, I got confused earlier as mentioned above. It is not needed
>>> unless you have use case. Please present if you have one.
>>
>> Thanks for the clarification.
>>
>> IIUC, this means my original point stands: the #thermal-sensor-cells
>> property is optional, and only needed if SCMI sensors (the "provider")
>> are referenced by a consumer, such as "thermal-sensors".
>>
> 
> Agreed, but looking at that angle all #*-cells properties are optional
> if there are no phandles referring back to the nodes.

Right, I had only glanced at those superficially, but I figured as much.

> Not sure if that
> is represented somehow in DT schemas. I am currently unaware of that and
> happy to know if that exists.
> 
>> What about the following update then:
>>
>> | diff --git a/Documentation/devicetree/bindings/firmware/arm,scmi.yaml b/Documentation/devicetree/bindings/firmware/arm,scmi.yaml
>> | index d06cca9273c4..fde9d06342f6 100644
>> | --- a/Documentation/devicetree/bindings/firmware/arm,scmi.yaml
>> | +++ b/Documentation/devicetree/bindings/firmware/arm,scmi.yaml
>> | @@ -223,23 +223,26 @@ properties:
>> |    protocol@15:
>> |      $ref: '#/$defs/protocol-node'
>> |      unevaluatedProperties: false
>> |
>> |      properties:
>> |        reg:
>> |          const: 0x15
>> |
>> |        '#thermal-sensor-cells':
>> |          const: 1
>> | -
>> | -    required:
>> | -      - '#thermal-sensor-cells'
>> | +        description:
>> | +          If other nodes (such as a list property like "thermal-sensors")
>> | +          reference SCMI sensors from the "protocol@15" node, then the
>> | +          "#thermal-sensor-cells" property is required; otherwise, it is
>> | +          unneeded. "#thermal-sensor-cells" specifies the width of SCMI Sensor
>> | +          IDs for referrers, expressed as a number of 32-bit cells.
>> |
>> |    protocol@16:
>> |      $ref: '#/$defs/protocol-node'
>> |      unevaluatedProperties: false
>> |
>> |      properties:
>> |        reg:
>> |          const: 0x16
>> |
>> |        '#reset-cells':
>>
>> If you think this is unnecessary complication or verbosity, I can drop
>> it; it's just that I'd like to construct a minimal "protocol@15" node
>> for my use case (a particular DTS I'm extending), and be able to justify
>> every little part of that addition. Presently I can't justify
>> "#thermal-sensor-cells", so I'd like to leave it out -- but currently
>> that would conflict with the documentation (even though it wouldn't
>> cause a problem for any of the drivers included / activated).
>>
> 
> See above, it extends to all #*-cells properties IMO, again happy to get
> corrected if I am missing something.

... OK, I'll leave it as it is, then. "Required but unused" is what I'll 
say when asked.

Thanks for thinking this through with me!
Laszlo