Re: [PATCH v2 2/8] dt-bindings: thermal: Add qcom,qmi-cooling yaml bindings

From: Gaurav Kohli

Date: Tue Feb 24 2026 - 07:10:16 EST




On 2/20/2026 1:14 PM, Krzysztof Kozlowski wrote:
On 20/02/2026 08:29, Gaurav Kohli wrote:


On 2/11/2026 1:43 PM, Krzysztof Kozlowski wrote:
On 11/02/2026 08:37, Gaurav Kohli wrote:


On 2/8/2026 3:36 PM, Krzysztof Kozlowski wrote:
On 29/01/2026 13:06, Gaurav Kohli wrote:

On 1/28/2026 4:57 PM, Krzysztof Kozlowski wrote:
On Tue, Jan 27, 2026 at 09:27:16PM +0530, Gaurav Kohli wrote:
The cooling subnode of a remoteproc represents a client of the Thermal
Mitigation Device QMI service running on it. Each subnode of the cooling
node represents a single control exposed by the service.

Signed-off-by: Gaurav Kohli <gaurav.kohli@xxxxxxxxxxxxxxxx>
---
.../bindings/remoteproc/qcom,pas-common.yaml | 6 ++
.../bindings/thermal/qcom,qmi-cooling.yaml | 72 +++++++++++++++++++
2 files changed, 78 insertions(+)
create mode 100644 Documentation/devicetree/bindings/thermal/qcom,qmi-cooling.yaml

diff --git a/Documentation/devicetree/bindings/remoteproc/qcom,pas-common.yaml b/Documentation/devicetree/bindings/remoteproc/qcom,pas-common.yaml
index 68c17bf18987..6a736161d5ae 100644
--- a/Documentation/devicetree/bindings/remoteproc/qcom,pas-common.yaml
+++ b/Documentation/devicetree/bindings/remoteproc/qcom,pas-common.yaml
@@ -80,6 +80,12 @@ properties:
and devices related to the ADSP.
unevaluatedProperties: false
+ cooling:
+ $ref: /schemas/thermal/qcom,qmi-cooling.yaml#
+ description:
+ Cooling subnode which represents the cooling devices exposed by the Modem.
I do not see the reason why you need 3 (!!!) children here. Everything
should be folded here.


Thanks Krzysztof for review.

Each subsystem may support multiple thermal mitigation devices through
remote TMD service.

Because of this multiplicity, introduced separate binding file.

This explains nothing. Subsystem does not matter for the binding. My
comment stays.


thanks for this suggestion, we will use qcom,pas-common.yaml to define
bindings and avoid creating new file.

I asked not to create any children nodes.


We have multiple cores within a subsystem(cdsp) and each core has its
own independent DCVS. And also we have dedicated TSENS sensor placed on
each core within the subsystem.

Your own example in this patch had only one device, so how do you
imagine to convince us with incomplete or half baked code?


Target of this series supports one tmd per remoteproc, due to which we have not posted examples of multiple tmd. Can i use dt binding example sections to describe all tmd's per remoteproc?

As a result, each core requires its own cooling device, which must be
linked to its TSENS thermal zone. Because of this, we introduced
multiple child nodes—one for each cooling device.

So you have one device with cooling cells=1+2, no?


This will be a bigger framework change which is not supported, i can see other drivers are also using something like this multiple cooling device under device node, below are few examples :

->Documentation/devicetree/bindings/hwmon/microchip,emc2305.yaml
In this multiple fan child nodes are present.

-> Documentation/devicetree/bindings/thermal/nvidia,tegra124-soctherm.yaml
In this multiple child nodes are present, like heavy and light.

Please suggest if our current approach is fine or you want us to implement in some other way.


Best regards,
Krzysztof