From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mx0b-0031df01.pphosted.com (mx0b-0031df01.pphosted.com [205.220.180.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 0F1B3335BA7 for ; Thu, 18 Jun 2026 15:56:47 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=205.220.180.131 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1781798210; cv=none; b=TL3IGMW1fjg9ae7Su+aP5EVpb5zemjubh/DKZtNF7mK+g11WvF5hs/7BAYGlDbt6CyUhy1nywJfVJMXvoLl50eOluXTeffNGhfxlLFsZBjEf55o6JjsY6KQ3pgNyyzmGVtlBdUBQrOgftqDLLuJ7ZsnKqRsbfdI8PL8DfhwlHAc= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1781798210; c=relaxed/simple; bh=ISo22YJnXNXqaVnPUdI2iwKWaaF1NM0ILyuyDS+MJCk=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=TDqEy//N0SA54UNVAwab+A4pCTbu1pA+DMLClex6fud/6jBGVBTpZFRpkg0QT+p3P/1Xr4yAr5OYayg3GRulN+d0kaIj9UlA4S1++CX8+gx5k0ZPuYqZz9XgGOw1+rFydxY6jBqOdA81tzjv0VSZnoGMFB31Fy+0JqFwH64V1RA= 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=HMEMYtpU; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b=Sse376YP; arc=none smtp.client-ip=205.220.180.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="HMEMYtpU"; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b="Sse376YP" Received: from pps.filterd (m0279871.ppops.net [127.0.0.1]) by mx0a-0031df01.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id 65IFGakF2094649 for ; Thu, 18 Jun 2026 15:56:47 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=qualcomm.com; h= cc:content-transfer-encoding:content-type:date:from:in-reply-to :message-id:mime-version:references:subject:to; s=qcppdkim1; bh= /dDt5YgHrQVTFxBlDvUvkUD1S0U2BleXm5ZDJEm+gpk=; b=HMEMYtpU19n4fkV1 DQ37Sr1kDaOTWB/nWmvLonPglOnDbbEK8K+ZHjGmuf1oYnizmR4qzxhH8Um4/xTn GzAoy3tPV1X6X7wJjUDx0LRDgXSBr5IfcEf8QStMbGZM/2GQG+S+L1BOXvs5Ze65 1P+yGX97azGWM6SHP4yR3BgzxcU3EDgXS3b6Q8hjSetrRP5vAmSpWJ3eyRKo0Rkv duA+cpOdN4Dqo0oKjtjK/rq2UVuGZHe+LGmfnyg2k4ieWpWxs1ss00sODjm+Sijf pHJQW2SiUinz1bpcstciCx3dnKPgWRP9mT453bdZVIreLV0nqJt76xOQ+fe/QjJ9 AGL4yA== Received: from mail-dl1-f72.google.com (mail-dl1-f72.google.com [74.125.82.72]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 4ev19a45h0-1 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT) for ; Thu, 18 Jun 2026 15:56:46 +0000 (GMT) Received: by mail-dl1-f72.google.com with SMTP id a92af1059eb24-1382674ba2eso1919184c88.0 for ; Thu, 18 Jun 2026 08:56:46 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oss.qualcomm.com; s=google; t=1781798206; x=1782403006; darn=vger.kernel.org; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:from:to:cc:subject:date:message-id :reply-to; bh=/dDt5YgHrQVTFxBlDvUvkUD1S0U2BleXm5ZDJEm+gpk=; b=Sse376YPExR+7s0Tz2BAlSM/FPPDm57lP3mbbSccTGGSKMwbYpJ8lJ3P906ymPWko3 N0oKS1g48w1sRDw0FV3VXYbJqQ+HOJB45hcmS1tyn9pvASNwwMU/zkUUPCL49zTLRgVI v5RCiiNjEIreZAc2Y7/Tv6pYcG1SlNyLb+7SjR7IZSfADXYsuB0y9A3bc3BdCE1LLlsJ yljdDktIzXyceDIvgLggvs2/qxXQNxkn8kKNJAGSihBswfcTkwVrnY3RYwM9tPUrX4jb aXzakm1g9f16tpsjZsTUSxms5N/762MNHh9q6xe00uRKsoDQxkTXwOs5xrmz+tEL8CKi T+NA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1781798206; x=1782403006; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:x-gm-gg:x-gm-message-state:from:to :cc:subject:date:message-id:reply-to; bh=/dDt5YgHrQVTFxBlDvUvkUD1S0U2BleXm5ZDJEm+gpk=; b=PBZeSG9xEIxMsgGM5DDdAiWNnZxAn4ZMWJEMQgvZeTeelwfWkVs5nUuvQLVZsx55O4 sSpcweW8BTMb2/FlSkhomsSnMexW0nF0+9TFBFupcgZUfeYBS9ZZbNGgCgxKuiOCKADH HoKOzEtE2FHD3mIEGyHy+VvFGqrkDRX8isV1DAnXOde55t8ni8/tTTrQnNVJsNJ8p8EM lgbbOnsgkqusMCQI1arPm/MbHD8voRvQ47KLsRX40YpgdKi9UFcUNoZE/nHpT7HafmDN WYMv+Cpdu5Ag/76ZzvKbHdq0x3UoF6Z68hByj/ABXYuMVcC6ujKCYli25qMIGd8cIpOl hWIA== X-Forwarded-Encrypted: i=1; AFNElJ9/+NKsRobdFrKq0urw6YZWM99NNR2BfwK1z0qXNX/glRw1cyCfdR60rAve1zTQpwXKrqIIoTDW2/lENDc=@vger.kernel.org X-Gm-Message-State: AOJu0YwRjJ21Mp1DmMJ8k3bPKqQfxau7iGa5EXaa+mNBY73kuq0TUapZ DFbQYplIAmC1bkOgPp57u/O+NHQK9G0A4jxBSqRaX6inOqYvJvdazQHlbNmSWIhQHe9jHdgkfvX aAYDOefrpaMlAzAozCqFTqUZ/fuhSFgrjAeOv7sxb8FMv+I93x2zbeTHYi23OlGQxDiA= X-Gm-Gg: AfdE7cnQKnrMy+S5EqJ9tcUhz9IBg9Coz8OyX/9KKMPwatwKf2UZb0S7fvcNfoPjYe5 yZQb8EGAUQM9909L0RRDUwWYyPeUofd3t/KYT4/DXkcCSLAV2fAHcE53V5vPqpHXdK2z1ri9K6E Cmm9ZTVhttSOshslykNxzWTXcBLsJ4alYYJ1kHgTKU/2Mva18BddJyObYKwzzk0j5mIkP0DNGOk 3yxG9G5Ke3DDF2HhbxTq8X4bZLGsVp6QM4tCjD4jP6Y8InnXPsq/1c0H5gdAkHAe5YrxLP/A4ak Q4SGIw+oxSVgWcg7XDG7p/Yw1FBEPPXk5Qhf2nWZqwMwDLVP8XNkixjiX3a65Grix4Bx34BC5ZD 71jA3lY1SoYL28KdpVgVc1B+IpdWvxsQmh7VoE27C2wrlfDghOqAZ X-Received: by 2002:a05:7022:e0a:b0:137:8bc2:f501 with SMTP id a92af1059eb24-139a20b8f2fmr156779c88.7.1781798205859; Thu, 18 Jun 2026 08:56:45 -0700 (PDT) X-Received: by 2002:a05:7022:e0a:b0:137:8bc2:f501 with SMTP id a92af1059eb24-139a20b8f2fmr156745c88.7.1781798205339; Thu, 18 Jun 2026 08:56:45 -0700 (PDT) Received: from [169.254.0.13] (Global_NAT1.qualcomm.com. [129.46.96.20]) by smtp.gmail.com with ESMTPSA id a92af1059eb24-1384b9110d3sm19671267c88.5.2026.06.18.08.56.43 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 18 Jun 2026 08:56:44 -0700 (PDT) From: Bjorn Andersson Date: Thu, 18 Jun 2026 15:56:35 +0000 Subject: [PATCH v2 2/2] firmware: arm_scmi: request modules for discovered protocols 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 Message-Id: <20260618-scmi-modalias-v2-2-8c7547c1be21@oss.qualcomm.com> References: <20260618-scmi-modalias-v2-0-8c7547c1be21@oss.qualcomm.com> In-Reply-To: <20260618-scmi-modalias-v2-0-8c7547c1be21@oss.qualcomm.com> To: Sudeep Holla , Cristian Marussi , Nathan Chancellor , Nicolas Schier , Michael Turquette Cc: arm-scmi@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org, linux-kbuild@vger.kernel.org, Hans de Goede , Bjorn Andersson , Stephen Boyd , Brian Masney , "Rafael J. Wysocki" , Viresh Kumar , Frank Li , Sascha Hauer , Pengutronix Kernel Team , Fabio Estevam , Guenter Roeck , Jyoti Bhayana , Jonathan Cameron , David Lechner , =?utf-8?q?Nuno_S=C3=A1?= , Andy Shevchenko , Dmitry Torokhov , Ulf Hansson , Liam Girdwood , Mark Brown , Philipp Zabel , Alexandre Belloni , linux-clk@vger.kernel.org, linux-pm@vger.kernel.org, imx@lists.linux.dev, linux-hwmon@vger.kernel.org, linux-iio@vger.kernel.org, linux-input@vger.kernel.org, linux-rtc@vger.kernel.org X-Mailer: b4 0.15.2 X-Developer-Signature: v=1; a=ed25519-sha256; t=1781798198; l=3118; i=bjorn.andersson@oss.qualcomm.com; s=20230915; h=from:subject:message-id; bh=ISo22YJnXNXqaVnPUdI2iwKWaaF1NM0ILyuyDS+MJCk=; b=5f2jzig78+7i8GOi9XkZud3yAV6oYQt+ilyEeUyLhW2skjQn50HhCx+V7eK5vQ/uA0ZWG+L0c UxiYpJMAspCAqqob00Y6y3CAenu9vXBzFSvBJJIOzsu/L/kkrEbLYzL X-Developer-Key: i=bjorn.andersson@oss.qualcomm.com; a=ed25519; pk=VkhObtljigy9k0ZUIE1Mvr0Y+E1dgBEH9WoLQnUtbIM= X-Authority-Analysis: v=2.4 cv=YbmNIQRf c=1 sm=1 tr=0 ts=6a34153e cx=c_pps a=bS7HVuBVfinNPG3f6cIo3Q==:117 a=ouPCqIW2jiPt+lZRy3xVPw==:17 a=IkcTkHD0fZMA:10 a=FelO9ux0wxsA:10 a=s4-Qcg_JpJYA:10 a=VkNPw1HP01LnGYTKEx00:22 a=u7WPNUs3qKkmUXheDGA7:22 a=3WHJM1ZQz_JShphwDgj5:22 a=EUspDBNiAAAA:8 a=SFLdN7fYUvWWIfk3OzkA:9 a=QEXdDO2ut3YA:10 a=vBUdepa8ALXHeOFLBtFW:22 X-Proofpoint-Spam-Info: AW1haW4tMjYwNjE4MDE0NyBTYWx0ZWRfX3jREUOEBw8VD WJZp2DO++IGhsmuoN0Yd78FUbvKICZqw6ORQbOQ2mYESmhLYuvOrhA+e+1zCdrzhkNSLLkaztaV SJgHMRoYdF9IG5GW8R80dLEC3s9/2Ks= X-Proofpoint-GUID: pN461G59X1yUDS2ryBbdyGK-WdMwvgGR X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwNjE4MDE0NyBTYWx0ZWRfX0d4ojvvLRaJq Z1KMNUvGgr6BobBEvnq8sKhDLxnluCz/B7LL3G9EmVTOscrJIxZ/6ZxTXnm9pnqmQEjbklI+6Xz uL9cGZFz+Nw0mlo6Giapjie3idcIqkaS3GUlcfP3GVgh5euyxTwA/Pkqr4E1saIDbJcTgwKWA3I hkMRpcR71kuproBBidfFfcgNG8/PM/JEZZTRc9VOYmDroZBhp4+c58zPnMdGfXRokqVex3nymfe SGstckjxkY4vRCLppU6fcsbKz5RU/oQpAJfjhFT6FISuLtpNy0MWXXe7e6wv5a+e90FwX27vgMA 4B8/sDin+Hyzg2CMECkX0ahqPC/vBq9CMyYW4PMuwoOai9fCW20xJs+pne66Smlh9/JfR3ewtq+ GSOFZmY1kdugaz2//7f3NOEXmkMfM/TyrHRDz5ZMUXmPXLGgTOZeit4M2CncZ+SHdcQlv+07SuG 6eEfAtROufHXbCv1PMQ== X-Proofpoint-ORIG-GUID: pN461G59X1yUDS2ryBbdyGK-WdMwvgGR 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-06-18_02,2026-06-18_03,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 priorityscore=1501 adultscore=0 lowpriorityscore=0 bulkscore=0 malwarescore=0 clxscore=1015 impostorscore=0 spamscore=0 phishscore=0 suspectscore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2606150000 definitions=main-2606180147 SCMI client devices are created from SCMI driver id tables. If such a driver is modular, the core does not know the driver's client name until the module has already loaded, so normal device uevent based autoloading cannot break the dependency cycle. Emit a protocol-level alias for each SCMI device id table entry and request that alias when the SCMI core discovers an implemented protocol. This loads modules that have registered interest in the protocol; their normal SCMI driver registration then requests the concrete client device and the SCMI bus matches it by protocol and name. This allows e.g. ARM_SCMI_CPUFREQ=m to autoload on systems that expose only the SCMI Performance protocol node, where the cpufreq client name is Linux-internal and not available from firmware before loading the module. Assisted-by: Codex:GPT-5.5 Reviewed-by: Hans de Goede Signed-off-by: Bjorn Andersson --- drivers/firmware/arm_scmi/driver.c | 2 ++ include/linux/mod_devicetable.h | 1 + scripts/mod/file2alias.c | 4 +++- 3 files changed, 6 insertions(+), 1 deletion(-) diff --git a/drivers/firmware/arm_scmi/driver.c b/drivers/firmware/arm_scmi/driver.c index 0fd6a947499e..7d33fab94e28 100644 --- a/drivers/firmware/arm_scmi/driver.c +++ b/drivers/firmware/arm_scmi/driver.c @@ -48,6 +48,7 @@ #include #define SCMI_VENDOR_MODULE_ALIAS_FMT "scmi-protocol-0x%02x-%s" +#define SCMI_MODULE_ALIAS_FMT SCMI_PROTOCOL_MODULE_PREFIX "0x%02x" static DEFINE_IDA(scmi_id); @@ -3363,6 +3364,7 @@ static int scmi_probe(struct platform_device *pdev) } of_node_get(child); + request_module_nowait(SCMI_MODULE_ALIAS_FMT, prot_id); scmi_create_protocol_devices(child, info, prot_id, NULL); } diff --git a/include/linux/mod_devicetable.h b/include/linux/mod_devicetable.h index 769382f2eadd..2cc7e78e35a3 100644 --- a/include/linux/mod_devicetable.h +++ b/include/linux/mod_devicetable.h @@ -477,6 +477,7 @@ struct rpmsg_device_id { #define SCMI_NAME_SIZE 32 #define SCMI_MODULE_PREFIX "scmi:" +#define SCMI_PROTOCOL_MODULE_PREFIX "scmi-protocol-" struct scmi_device_id { __u8 protocol_id; diff --git a/scripts/mod/file2alias.c b/scripts/mod/file2alias.c index a5283f4c8e6f..40a37b6bf1ad 100644 --- a/scripts/mod/file2alias.c +++ b/scripts/mod/file2alias.c @@ -852,7 +852,7 @@ static void do_rpmsg_entry(struct module *mod, void *symval) module_alias_printf(mod, false, RPMSG_DEVICE_MODALIAS_FMT, *name); } -/* Looks like: scmi:NN:S */ +/* Looks like: scmi:NN:S and scmi-protocol-0xNN */ static void do_scmi_entry(struct module *mod, void *symval) { DEF_FIELD(symval, scmi_device_id, protocol_id); @@ -860,6 +860,8 @@ static void do_scmi_entry(struct module *mod, void *symval) module_alias_printf(mod, false, SCMI_MODULE_PREFIX "%02x:%s", protocol_id, *name); + module_alias_printf(mod, false, SCMI_PROTOCOL_MODULE_PREFIX "0x%02x", + protocol_id); } /* Looks like: i2c:S */ -- 2.53.0