From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mx0a-0031df01.pphosted.com (mx0a-0031df01.pphosted.com [205.220.168.131]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id E88AD397E75 for ; Wed, 22 Apr 2026 17:43:48 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=205.220.168.131 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1776879830; cv=none; b=fh/0QhzFyxUAJ9XgoZLou4hObYdc+fWWHDGshn8Lzf82zDGa1JxcwH7tEw5j+UAh3PBbhqKXIt/fvXIG7tsESmeGzmQSRpOSDRmpPPzWtiHUdIgM3LfJIgO8nL/cAH+BwRg8QnBjKeRol6pCUOiK0nI1Nwrn0prChxoJ7Ij0IU8= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1776879830; c=relaxed/simple; bh=GRJKqETTYD+0iUNaGVQk7QmrjeC7H3mzki0OTwX5WSE=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=Ezv/DfcCeOdiPCfvowz1074fjFaL/tzq9q3j3DoaRovIDRBg8JH6VfrYo3J+vid8zYXS+MQzn6u4OmEOfCsqz0tRtryDc4q0mmyA1s1ktpmuOsq3DLZ8RsPVjwbzSiLvYScd5W3ykWCVP9mYQp3m6ZWxsIbTXpc2Ountomxiakk= ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=oss.qualcomm.com; spf=pass smtp.mailfrom=oss.qualcomm.com; dkim=pass (2048-bit key) header.d=qualcomm.com header.i=@qualcomm.com header.b=ep8igiT9; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b=THqyT0kG; arc=none smtp.client-ip=205.220.168.131 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=oss.qualcomm.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=oss.qualcomm.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=qualcomm.com header.i=@qualcomm.com header.b="ep8igiT9"; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b="THqyT0kG" Received: from pps.filterd (m0279867.ppops.net [127.0.0.1]) by mx0a-0031df01.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id 63MGqac21218441 for ; Wed, 22 Apr 2026 17:43:48 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=qualcomm.com; h= cc:content-transfer-encoding:date:from:in-reply-to:message-id :mime-version:references:subject:to; s=qcppdkim1; bh=ycCp+qg3sPA C9R8065KdU0CXnIWLAlFwlYKj3ZnmuC4=; b=ep8igiT9pgcI1N+wLuV175BWocv wfHemshB4+0SRwLYHsSSM5tTISeFWjipJFjc4QSRHlu0+kTqE7u4v4tLbQFHaSCI cVW3Su2fuw5EN3C5XwXjKJnQBnjY9cLEU9Lu76egrng9fJJrP88ZgMWt2dtxWfd+ NuAQHIJaolrTLbL7aFFdIDtgQ1lcxyx1FVYkcHJlCrrX7nFciRWxyJg7Ay7jWa5a IGcTyJfbvcPPrN63uLixdTA4wVCif0RCL/hl3mJPsZP8qcRIFZ7nHq+30vjom5Qp KE2X7MN5oUP2DIhOSh8xZTqQnEOXGoYT22ANRiEPOu7hsrQQ0nVmb6HckNQ== Received: from mail-qt1-f197.google.com (mail-qt1-f197.google.com [209.85.160.197]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 4dq282r5ut-1 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT) for ; Wed, 22 Apr 2026 17:43:48 +0000 (GMT) Received: by mail-qt1-f197.google.com with SMTP id d75a77b69052e-50faf575af4so68660741cf.0 for ; Wed, 22 Apr 2026 10:43:45 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oss.qualcomm.com; s=google; t=1776879825; x=1777484625; darn=vger.kernel.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=ycCp+qg3sPAC9R8065KdU0CXnIWLAlFwlYKj3ZnmuC4=; b=THqyT0kGIVj+1naxjnjTPFtw2JeWpRDxvafgA5GK81UCgYa+7T3cpCjZeA1ExmfDUL iXRYegDAfDPJ4Ul3PltJxUusiNRNZBRWm47onOXty0an/SiPPWOUM922ZpDtMSdPZYwM a8dlTD4aRjz70FXSB3xdtfJ+QtyiUpUVPY3dHU/LUWq1aVh9wVfIkOZJJlUOYBk8+/3O dZpgdclyisYvbJXm4Ua5hqFKbB34d3H4IgSNI8RIQITf2U8efB6mbJQbyJc0F2lHgqS+ o5oIxNZG9DSrKLiQD1BHOyw3Uiw0lEoG657AQIAp8c+J4bxAZ8JRU3YA0hECnxcVAgxM tZJA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1776879825; x=1777484625; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-gg:x-gm-message-state:from :to:cc:subject:date:message-id:reply-to; bh=ycCp+qg3sPAC9R8065KdU0CXnIWLAlFwlYKj3ZnmuC4=; b=adqIfc9wY/ThQXlvtOwH6OT1Xb/6zJVSf81h1lEwhGJE32Kuu2wS1Ze8O5CY62360m SQ+gYqIPMkD2vFTuN9+uLPUBwLIoapD5ZcpvAKHXPCSWE+hwEd4cfrZIpFYQPMZLS8tG W+GGgUIhMjM5ort7R6JE1pNrq+zNoDMlG2VVNdk+C36zMOI7ORxE3ZnpoHWG+zThWqgL notOP6+ExbfBTs79f10nRJBNYF03j/1p38pbZFhzKZT02u9GwWQIeTeRdJc5lDSJmtFy iGJKMAZihmj32rPBi/MVYylkXY8/jKt/Zx5nbExi0ksPM3HKORIaaLSAEa809TOQXfAo e/8g== X-Forwarded-Encrypted: i=1; AFNElJ8oybEaR1CLqEOgJbS7t/3boXGuLRUm+J7WYKXN7J9fRTj1s8xOR/8qxzQFIbb6cSoGuxSDxlyJIREGm8U=@vger.kernel.org X-Gm-Message-State: AOJu0YxEREd6wxTwKHI0NkcYpo32Hrk2DLV7ykvUndYpR04AlDDnvRVy WfSKM9v+wCF+irhQR8lDUrVy0DasDaj6Ok5ozCrfB5QD0JpTojemG2j7Mzg34Hcg212BBzEa8XN CyNGyHxIjQusN0yA5mCzMexeZfGK7Kd4956CHWW9kLZBy7RwRza6fm+j9FsPPV7r2x7k= X-Gm-Gg: AeBDieubbW29D0IBZcQ9Iya/lknvvmN8Gt6c/HT16+jPgqFA/zJ3lA28rhjq09fQSCF 0pS99HH66Z+QCYKQ3ujhLGhhsIEK1iKm4FoXtQpfqx6pX1l+VckMx5U3HwGtvLQW6nDeKS2wEN4 pCs7lkakUpXw7OSp8jqpgLFqUgnJPUR2f94fhLXPFy6upGpTrSSQVCpl4E8apHdNmwg0LHhzwEv sVp53+ZPdtbj4yk4t8ifSQxLPn/EaO9VFafVm82OP5p1d+oX3u6ioYuFA0FjjpSqv8wFCFLZhHB 9W/uXNdf41KVEdLwWASzPQnidu5NbD0vUUagVwNe3SM8rM83jHmy1MsIENym7mgeu0p8DsU0kbj S5KMQM2+YTqWzEJJFWhcO1i0zWwgDIey3W1+NK6omI2/TLv4G7DoX+RHgSOcM X-Received: by 2002:a05:622a:7281:b0:50e:601a:217f with SMTP id d75a77b69052e-50e601a2509mr134414691cf.25.1776879825098; Wed, 22 Apr 2026 10:43:45 -0700 (PDT) X-Received: by 2002:a05:622a:7281:b0:50e:601a:217f with SMTP id d75a77b69052e-50e601a2509mr134414041cf.25.1776879824631; Wed, 22 Apr 2026 10:43:44 -0700 (PDT) Received: from mai.box.freepro.com ([2a05:6e02:1041:c10:ae20:597c:99b8:d161]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-488fb7a051dsm142511965e9.18.2026.04.22.10.43.42 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 22 Apr 2026 10:43:43 -0700 (PDT) From: Daniel Lezcano To: rafael@kernel.org, daniel.lezcano@kernel.org Cc: gaurav.kohli@oss.qualcomm.com, Zhang Rui , Lukasz Luba , Rob Herring , Krzysztof Kozlowski , Conor Dooley , Lucas Stach , Russell King , Christian Gmeiner , David Airlie , Simona Vetter , Guenter Roeck , Joel Stanley , Andrew Jeffery , =?UTF-8?q?Thomas=20Wei=C3=9Fschuh?= , Benson Leung , =?UTF-8?q?Pali=20Roh=C3=A1r?= , Avi Fishman , Tomer Maimon , Tali Perry , Patrick Venture , Nancy Yuen , Benjamin Fair , Heiko Stuebner , Thierry Reding , Jonathan Hunter , Bjorn Andersson , Konrad Dybcio , Amit Daniel Kachhap , Viresh Kumar , Neil Armstrong , Amit Kucheria , linux-pm@vger.kernel.org, linux-kernel@vger.kernel.org, linux-hwmon@vger.kernel.org Subject: [PATCH v2 11/12] thermal/of: Process cooling device index in cooling-spec Date: Wed, 22 Apr 2026 19:43:00 +0200 Message-ID: <20260422174305.2899095-12-daniel.lezcano@oss.qualcomm.com> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20260422174305.2899095-1-daniel.lezcano@oss.qualcomm.com> References: <20260422174305.2899095-1-daniel.lezcano@oss.qualcomm.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwNDIyMDE3MSBTYWx0ZWRfX8pRLFxMVCwmG 8ZvswTPtuyt3gw9PMbqbZ/6S6kfuF0J6aG+XGlZX3DHDo7H+8wTzFu4m4F6AFn524OPjnHsNJMZ Ple35p2otrnEVDl28b21lJAvX9EbkqO8QA2mnH/6aVRK8+516JpZrFNW0uCno7F3gIZuSnRdRd6 hIzCO3SzEYoahrYyqCekIinTE0WKoiyChcI2soUbjuJe15mMR3GFCYBXARP9/oef94gGLNWyfqY kV1G0f89Pf+xnjWSuk9fRoJXUCuzaDieEivJRy541/pQZxLWxH/p5M4DnTl2DvIyqUSWJLZWx9d uIkY1v2KT3ivv/TL8gpI/nOpmTxYLLZxzY+i2q6rziC5kaRO9FERVjlhg85//XSwPQJueyLrKe7 J0FMSTMWK1nd6M+z5N1mghKMOLzbJwbEbTxdYj7KJCohHuroCzFGcuw/LOR0TwW3Vk2TO+HdwLR XanKJ2utnMEcINSDIdQ== X-Authority-Analysis: v=2.4 cv=Zond7d7G c=1 sm=1 tr=0 ts=69e908d4 cx=c_pps a=EVbN6Ke/fEF3bsl7X48z0g==:117 a=xqWC_Br6kY4A:10 a=A5OVakUREuEA:10 a=s4-Qcg_JpJYA:10 a=VkNPw1HP01LnGYTKEx00:22 a=u7WPNUs3qKkmUXheDGA7:22 a=eoimf2acIAo5FJnRuUoq:22 a=EUspDBNiAAAA:8 a=s4Kp2nOrnj-iCWvMcIQA:9 a=a_PwQJl-kcHnX1M80qC6:22 X-Proofpoint-GUID: ikKOFH4J3p_5g2b4W1KONFsEzSNJuSk8 X-Proofpoint-ORIG-GUID: ikKOFH4J3p_5g2b4W1KONFsEzSNJuSk8 X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1143,Hydra:6.1.51,FMLib:17.12.100.49 definitions=2026-04-22_02,2026-04-21_02,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 bulkscore=0 malwarescore=0 suspectscore=0 clxscore=1015 impostorscore=0 spamscore=0 adultscore=0 lowpriorityscore=0 phishscore=0 priorityscore=1501 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2604200000 definitions=main-2604220171 The new DT bindings format describes a cooling device spec with the cooling device node, the id and the mitigation limits. Depending on the version of the DT bindings, in order to bind, check with the device node pointer only or, in addition, the cooling device id. Signed-off-by: Daniel Lezcano --- drivers/thermal/thermal_of.c | 26 ++++++++++++++++++++++---- 1 file changed, 22 insertions(+), 4 deletions(-) diff --git a/drivers/thermal/thermal_of.c b/drivers/thermal/thermal_of.c index d0d6d6b82d5a..f4628300972e 100644 --- a/drivers/thermal/thermal_of.c +++ b/drivers/thermal/thermal_of.c @@ -259,16 +259,34 @@ static bool thermal_of_get_cooling_spec(struct device_node *map_np, int index, of_node_put(cooling_spec.np); - if (cooling_spec.args_count < 2) { - pr_err("wrong reference to cooling device, missing limits\n"); + /* + * There are two formats: + * - Legacy format : <&cdev lower upper> + * - New format : <&cdev of_index lower upper> + * + * With the new format, along with the device node pointer, + * the of_index must match with the cooling device of_index in + * order to bind + */ + if (cooling_spec.args_count < 2 || cooling_spec.args_count > 3) { + pr_err("Invalid number of cooling device parameters\n"); return false; } + if (cooling_spec.args_count == 3 && + cooling_spec.args[0] != cdev->of_index) + return false; + if (cooling_spec.np != cdev->np) return false; - c->lower = cooling_spec.args[0]; - c->upper = cooling_spec.args[1]; + if (cooling_spec.args_count != 3) { + c->lower = cooling_spec.args[0]; + c->upper = cooling_spec.args[1]; + } else { + c->lower = cooling_spec.args[1]; + c->upper = cooling_spec.args[2]; + } c->weight = weight; return true; -- 2.43.0