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 D008936C9EC for ; Wed, 1 Jul 2026 13:39:16 +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=1782913158; cv=none; b=papNxGkq5F/JaZxx7+oKZxs/Bu/GxD7DuIzxW0JpBioHKTkxqZjluMe4ML6drF5EZYETE3lk8ck7GrhDRT8Do2pdxR+XoDf/RiYaLxueD99ybhdDOQ2Vifpu79nwwNG0cIf6o3qQE8Z/NTktM6/Z3M74zJv1zKJot1WmcCcnj6I= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1782913158; c=relaxed/simple; bh=IypPBtbtEojFxeZi74vIWdNRQH0Ig7E3O3gte7AZJME=; h=From:Subject:Date:Message-Id:MIME-Version:Content-Type:To:Cc; b=WdkGaFYppnIPjYscaAmYaOkTBIDchSq8aOaPT+HwXKZlfVudqhF2juoYFQT7g9Z520PipAYKFPA4fuVeLz/i7SA5SD2UkoSLHUwF5+jsjZRgsEoEJewYg2wmE5I8AG+BbGb3fRIdG4c2TYctuvu5J7NYiZfI5YKhviBBaEpmLrk= 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=BTlgtthZ; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b=MmUDbRmu; 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="BTlgtthZ"; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b="MmUDbRmu" Received: from pps.filterd (m0279863.ppops.net [127.0.0.1]) by mx0a-0031df01.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id 661A8OX3761393 for ; Wed, 1 Jul 2026 13:39:16 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=qualcomm.com; h= cc:content-transfer-encoding:content-type:date:from:message-id :mime-version:subject:to; s=qcppdkim1; bh=+ZwsGSjZzI7u51pcIgHWGF NgEbH5Wj9AButtMvoB/Gs=; b=BTlgtthZIjxEBGN5za/3t5cLrQHahgAmlT/mi+ rImiKPMbbtj2od9/AJVzPnq0ohrkqvCF0iIYg/YkfHId0OtZKoamglzHQmxQ5izU 0BhLKZit1eH7Use6tovFsG7ITOXAAdKhvKHBhl5EVOqB3Yf7Ck3IZS3gGGT3d0IM 41IledgIlLz1+i5XX9yHrFLSUkyLJLTFM8dlLOgNogB/12jiZQFO3UDNgN2TsyiQ neMQ9TlykJfvAQqKqbJ5NNOP5PUayBLLnJtvebF/+NjBXk5JE7rXhMqXlJ8cv62f wAtFtcrNfzz7ULOdqRQM5hgw1vehwUNMemyMYTHnLzJGayPQ== Received: from mail-qk1-f198.google.com (mail-qk1-f198.google.com [209.85.222.198]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 4f50sd0vyr-1 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT) for ; Wed, 01 Jul 2026 13:39:16 +0000 (GMT) Received: by mail-qk1-f198.google.com with SMTP id af79cd13be357-92158791d14so70564885a.2 for ; Wed, 01 Jul 2026 06:39:16 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oss.qualcomm.com; s=google; t=1782913155; x=1783517955; darn=vger.kernel.org; h=cc:to:content-transfer-encoding:mime-version:message-id:date :subject:from:from:to:cc:subject:date:message-id:reply-to; bh=+ZwsGSjZzI7u51pcIgHWGFNgEbH5Wj9AButtMvoB/Gs=; b=MmUDbRmuvRtfk0/boXTuICYitJk2xYQ6YDLmWrD2ipB6teVXcRPWCcfGFSggugO06v q3Q+m+ItKzW6XyvL0CPXeYmdDshuUsznvw+MQQqgblLwGgq45pGddXxqkuFLCU9zn3Af O1BNSi7DF7blFhUQGiucjCjYN8ESQ1oABcPlDkZKDHeIcDbzP0LfnoQVcxHktNPYMZAF hum62QBwbyZ1Xz7roAl01tD05NhtmB6z5ZD6ulsuZxgp7+Gjo57f548HYGr/xYSPWNnp 06d+/7iA3S5wkBuceFpUC0iiNDHOdIsIIOo2kI8uzhhLOhEvZhMdmnjFwT0f1C+IfFsn tyrg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1782913155; x=1783517955; h=cc:to:content-transfer-encoding:mime-version:message-id:date :subject:from:x-gm-gg:x-gm-message-state:from:to:cc:subject:date :message-id:reply-to; bh=+ZwsGSjZzI7u51pcIgHWGFNgEbH5Wj9AButtMvoB/Gs=; b=tFYQ4rc2tJQy0ZTjcIxSJM3PER+VUIhAdijPP3ZWgr2trNkyOuRhUWM3PVO3u96mvP KlLAXRxovUjAYAAwKOFtsqEzNxc3n3LIS4wkzUT3LExD88H0AZB01AkOA4ZrbP7GqCb2 4MO+Y4g8vYaWyvZ35n/btSTbT3gsnZmPYnc0MfubR4/kKQjXwIsR8V75CvczZBhFuMvt BLZl7lj5bwUtut4iTk2L8obFgaUTN2wSMv8gP9olCGygVnECzd5nxXkfyUUjVOLqU5SM ozxm3w/Igv8tUaNDt9OejdVZsFI+I4pJtv4uH6ABnHGvwEv/R3NszAuCnMpd8p5kmws2 w+HA== X-Forwarded-Encrypted: i=1; AFNElJ+Y1rmcwX/H7d0bWBnKZy1eOmrR6GIWG/n95905iFNQq2AZLwdnNA/MPszUhoJIl/rt4oQVi2gtod1m9Pg=@vger.kernel.org X-Gm-Message-State: AOJu0Yzy+VjkGTj4zeq3Ie+icbjg88+Vas2jipQmZMc6RSK7l+0JGuDK u7+bFNZie4lSqQICZpnfopLKXy3/MPBfXhCqibWdbtU7J8T8BnrzJN1nJV+rZEzOq8DlLSWemAv uk+h0pBbj80lvJqeJZDtd0neYEoN98RUywEFcM+hLshQYYXQKreLNbz09NfYOQzUXWzuoTowr2K 8= X-Gm-Gg: AfdE7ckr67MhcUXiALIhKkmhwoWylhAO25TsmNkqB3LY9UzoWf9QBTd5Ue8k0N8KLxe +slF+nSrB7aMiYileGwWT/t+BMwQ5Xso+WAuOJdXBE0DX+pXcNBEbOcQrFon1CCtHInngr0P9OK PbQMn0jNNFbZD7D6fg7aIm90GCYEPGbajAgiDzM2hpO0wBaq9mkpm+X3Ru0fytbNQ8QCX8/vvj0 54RlM06GDEkLEZf+o1PE7ypEkSiBNFWDRAKO1nBGjuO83jAJCVli6VI3gftimybNnpLxPJzbggj +7xwYvqBiYTSJCX7vaDcQ15QLNPDOIsUwMJi9XX5d2p9wpL1B4m4NZVMJ2LBkBJmd6va8uvYWEO 8IqhJ+6UInwIuRWQiRgxH4UJKsBk9L8LME8lvcfQ5 X-Received: by 2002:a05:620a:6919:b0:915:675d:a2d with SMTP id af79cd13be357-92e7b419984mr141261885a.51.1782913155116; Wed, 01 Jul 2026 06:39:15 -0700 (PDT) X-Received: by 2002:a05:620a:6919:b0:915:675d:a2d with SMTP id af79cd13be357-92e7b419984mr141255785a.51.1782913154488; Wed, 01 Jul 2026 06:39:14 -0700 (PDT) Received: from brgl-qcom.local ([2a01:cb1d:dc:7e00:6619:ec60:6996:ac02]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-493c3874f62sm18349985e9.2.2026.07.01.06.39.13 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 01 Jul 2026 06:39:13 -0700 (PDT) From: Bartosz Golaszewski Subject: [PATCH 0/4] firmware: qcom: scm: simplify code by using classes Date: Wed, 01 Jul 2026 15:38:54 +0200 Message-Id: <20260701-qcom-scm-code-shrink-v1-0-02f5ce02c95a@oss.qualcomm.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: 7bit X-B4-Tracking: v=1; b=H4sIAG4YRWoC/x3MSwqFMAxA0a1Ixgbq/z23Ig4kTTWIrTYggrh3i 8MzuPcG5Sis0Gc3RD5FJfiEIs+AlsnPjGKToTRlazpT4EFhQ6UNKVhGXaL4Fek/Oferm6bqLKR 0j+zk+rbD+DwvUfPSw2YAAAA= X-Change-ID: 20260701-qcom-scm-code-shrink-c9aff845537d To: Bartosz Golaszewski , Bjorn Andersson , Konrad Dybcio Cc: linux-arm-msm@vger.kernel.org, linux-kernel@vger.kernel.org, Bartosz Golaszewski X-Mailer: b4 0.14.2 X-Developer-Signature: v=1; a=openpgp-sha256; l=1122; i=bartosz.golaszewski@oss.qualcomm.com; h=from:subject:message-id; bh=IypPBtbtEojFxeZi74vIWdNRQH0Ig7E3O3gte7AZJME=; b=owEBbQKS/ZANAwAKAQWdLsv/NoTDAcsmYgBqRRh4uC9DTwWrzM8mH0jHihm72nRPG/M7XYdd8 gDbjkrtAReJAjMEAAEKAB0WIQSR5RMt5bVGHXuiZfwFnS7L/zaEwwUCakUYeAAKCRAFnS7L/zaE w5w1EACObCR9s6YcCVZ01JlMMponFUcRTrVrIPTKH+9npYpCTluMaOCfV48vlVhFp/KwB/wokvI ld92nSp2minbiBqzjYg8gPI1IyTa2u9SIJ41sDDlMzVuL3bCaGggvTeA8rpQUFiru1gHM6fAKv/ f2WE9dhALY3PA2O6lzArlGPQ28c6HY04OgPaBm21ScIK30DSxZe8qG2YaGKQVWYBeUC7G2HBd1+ Om2+8KUSldI8YVQJCO0RiEeB7OO4Y2iKd7nN0w3cHjjEfVyGnEan5T1l3/1QBf9dT77Ni4Yxfm/ 215qBzkiMprOkMlUjhW4qfi/sdWdeVCbzW44nEO4mdpPjL4szWlWQ/Y67UlXsWNGwz0izeDJJei YQg37x3sR/f/U0w+O864kIdYym6iOv6lfz9KZiUIQg8I0wXpJmPuptADqJzjdjIAOHm2ObzNs8A vFIxJp0ypFGMZtKvAbFXpBzGCdY88IVCz/I5iiDbfKC+1Lwb7dxfi+Fzwc0Pn78/fvJOLjUW6gb Rim/RxRfsP0ICDDR1E7PAPqY3rtNK/kNdktKgnr539cg7vDJNmq8ZrXv5MrrujdsHY0YlzVlfVT DKnNnakjOMni056tj6GC91lFOaUuPOgIDh3bPD1pckpy/gGmXUL9fix7UaZe2qejkG1+ZLRjlbX R9yobRsxH/eThWQ== X-Developer-Key: i=bartosz.golaszewski@oss.qualcomm.com; a=openpgp; fpr=169DEB6C0BC3C46013D2C79F11A72EA01471D772 X-Authority-Analysis: v=2.4 cv=Z+3c2nRA c=1 sm=1 tr=0 ts=6a451884 cx=c_pps a=qKBjSQ1v91RyAK45QCPf5w==:117 a=xqWC_Br6kY4A:10 a=IkcTkHD0fZMA:10 a=RAioF0-LDSMA:10 a=s4-Qcg_JpJYA:10 a=VkNPw1HP01LnGYTKEx00:22 a=u7WPNUs3qKkmUXheDGA7:22 a=yOCtJkima9RkubShWh1s:22 a=EUspDBNiAAAA:8 a=9qASb20qi_AIfpCrn08A:9 a=QEXdDO2ut3YA:10 a=NFOGd7dJGGMPyQGDc5-O:22 X-Proofpoint-ORIG-GUID: v4-s1l-zq1CvKwAjsMSr1FoguP4EwL_n X-Proofpoint-Spam-Info: AW1haW4tMjYwNzAxMDE0MyBTYWx0ZWRfXwPcldVOQBRYO V9QhQRDKTP6GaSJ8dkCpaX70D+WcNyY8TYJOOKXw+ocLauczvFcH5eIP/W6s6QpGVUFdhtwMXtj NT6wUCcP3QSTK+EJUeMszxzevZw/Y8s= X-Proofpoint-GUID: v4-s1l-zq1CvKwAjsMSr1FoguP4EwL_n X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwNzAxMDE0MyBTYWx0ZWRfX/8KqdN4Nlgbt ouo1L5EQI9TomNfjQKSkf+r6pWCZeX9puuoexLocDj5kz1hdhO+HHRMOWGq05Cf6zbtG0tLgAXF UZGrkzS2m/xjJVj38Co575M4ZOggXudIMwWN157Q7DviCPMUtciQm7JV+yhsmTUIg8G0atqzVtT hNCDhuDCu9RrYLV85aGH9g7atOtPyKIsP7XbWxBZFwMd25pFdXAqIBuiCbliM4DvzmW1acalNyj eXHHstGtDubp+noCjISVSj/+yk0QeZ4SytYsjvyR2RB8dD1/ElnmPcuspwiHyCYAhgIZsYdOiv9 6/QJpHUCwzP7/FIKUKa46rRkv/fj76b3G5YyhtyfTWtUzSyP3mCR2daDXNj/X8Y7q9BVZhFdhA5 i6yV/2WpzCCy5jxgBeldm0U9iufqw189i8XOLSv9iDV636SywDcYuxf+m5OIa/kB2iwQlVUA5we WKb4x60KlUCuHK2Ehcg== X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1143,Hydra:6.1.125,FMLib:17.12.100.49 definitions=2026-07-01_03,2026-06-26_01,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 bulkscore=0 suspectscore=0 adultscore=0 priorityscore=1501 spamscore=0 phishscore=0 impostorscore=0 malwarescore=0 lowpriorityscore=0 clxscore=1015 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2606150000 definitions=main-2607010143 There's a pattern of enabling the clocks and/or setting the bandwith limits before performing an SCM call and reverting the above after it's node. In all places it's done unconditionally and can be simplified by providing appropriate classes. There are also a few places where we can use __free() for tzmem pointers. Signed-off-by: Bartosz Golaszewski --- Bartosz Golaszewski (4): firmware: qcom: tzmem: guard against IS_ERR() in the cleanup handler firmware: qcom: scm: use __free(qcom_tzmem) to simplify cleanup firmware: qcom: scm: introduce qcom_scm_clk class for clock management firmware: qcom: scm: introduce qcom_scm_bw class for bandwidth management drivers/firmware/qcom/qcom_scm.c | 184 ++++++++++++------------------- include/linux/firmware/qcom/qcom_tzmem.h | 2 +- 2 files changed, 73 insertions(+), 113 deletions(-) --- base-commit: be5c93fa674f0fc3c8f359c2143abce6bbb422e6 change-id: 20260701-qcom-scm-code-shrink-c9aff845537d Best regards, -- Bartosz Golaszewski