From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from bombadil.infradead.org (bombadil.infradead.org [198.137.202.133]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id E7B39C44501 for ; Thu, 9 Jul 2026 14:31:16 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=bombadil.20210309; h=Sender:List-Subscribe:List-Help :List-Post:List-Archive:List-Unsubscribe:List-Id:Content-Transfer-Encoding: Content-Type:In-Reply-To:References:Cc:To:Subject:From:MIME-Version:Date: Message-ID:Reply-To:Content-ID:Content-Description:Resent-Date:Resent-From: Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:List-Owner; bh=i1G7QVGepIEM0CWelKqH3jpucBlcr1CGjsJZXsT1zto=; b=OnJDMVaNlmfAL+/7I8efEm7ull cwcuPSCkIZB+F1L7pfCD2+zEROYV9QiYSVC2pyESsd6nnLyiAasgs5rMOEmY9ekGuwcLp25dyewDb 6HbiNsrL3NmK7ibn9+u5HUy6Mj4Mvy6GK9PrJVwKWf9APybw+uLRF4Q0UhOxJstipUARH7UaRr2Bq pT0wi2P+3Yrl8RngGoctOqcBcRsQ7R4S1zXHOET0e9X43Ne5Mh3KUryooL8t7Sili8j88zDJKpOCd ScQd0cTv2dJxc1W458K3STRzUVSzr2yHO51/ec8QgB+lDsjWkqzJDc4qo7zV9xWishQ4p/DeWodzq +S6nnUEw==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.99.1 #2 (Red Hat Linux)) id 1whpmQ-00000002m2v-1lgi; Thu, 09 Jul 2026 14:31:10 +0000 Received: from mx0b-0031df01.pphosted.com ([205.220.180.131]) by bombadil.infradead.org with esmtps (Exim 4.99.1 #2 (Red Hat Linux)) id 1whpmL-00000002m0K-2sMy for linux-arm-kernel@lists.infradead.org; Thu, 09 Jul 2026 14:31:09 +0000 Received: from pps.filterd (m0279870.ppops.net [127.0.0.1]) by mx0a-0031df01.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id 669Dw4e21970730 for ; Thu, 9 Jul 2026 14:31:04 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= i1G7QVGepIEM0CWelKqH3jpucBlcr1CGjsJZXsT1zto=; b=irKXSLf3JBrnMOim 1gm/OU/wrhtN6T4fsUHL0TBQupKbTUNfWjdpnt5qyWJRrAG51K45kw4XDNhbDe/j 6Bit7ZV7ZL1FkeN//hoJ/mg9H0xBBAUTScZuc0EkZEP15KSR2gMtfYoTUthvipm7 MXXIMB9heJvoZIHuo+mcuV7/OCrtMvI9+Ov2LhsY0CQyyQtQGul7BbuM2/Nwzx8k cDCmUregGRj8u/LntYKAlJUCbp0fHc7oLEnHuhxwQ3DV6BXvaAJGbRLxfumL4sZF 7M42umOhaQ3P4DS6RVXkq5F8wnWGYdbVFdU2/5930pMhJs256eA8IYPvCmN8iYQq 050+hg== Received: from mail-ua1-f72.google.com (mail-ua1-f72.google.com [209.85.222.72]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 4facqpg8c7-1 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT) for ; Thu, 09 Jul 2026 14:31:04 +0000 (GMT) Received: by mail-ua1-f72.google.com with SMTP id a1e0cc1a2514c-96925b219aeso502630241.2 for ; Thu, 09 Jul 2026 07:31:04 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oss.qualcomm.com; s=google; t=1783607464; x=1784212264; darn=lists.infradead.org; h=content-transfer-encoding:content-type:in-reply-to:content-language :references:cc:to:subject:from:user-agent:mime-version:date :message-id:from:to:cc:subject:date:message-id:reply-to:content-type; bh=i1G7QVGepIEM0CWelKqH3jpucBlcr1CGjsJZXsT1zto=; b=Cu19d4SNRTQo5VMZAp/8xLomyUm8dkIx+USUjZjL+Jq6J8HaR3SKC3SAOuemV/P9cB M4KyX7qw4eTaE+JifCRl06NFceSYa/b6e3NGJ8KF585AgXNel5Bj0jN4wOxcBY3C5DHo ibl+Dr7x6HEXyHaubpYi63ddgpFscSt6+5rAHU092/KQgMIHRM2zY00fZkryDzrMYZDe Ww7EwaTHzKH6z7zrbzHjdiRPND6RFfCxGlkZh/daklCSSKCC0i0FeIHXppvJx126RqF+ H5nagd0DC/ti5GuLAdHMY+YIX41QUIqtCrdfbUHhFfstNR+qwYdxTN/zoRyFYuxqEttq 33lA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1783607464; x=1784212264; h=content-transfer-encoding:content-type:in-reply-to:content-language :references:cc:to:subject:from:user-agent:mime-version:date :message-id:x-gm-gg:x-gm-message-state:from:to:cc:subject:date :message-id:reply-to:content-type; bh=i1G7QVGepIEM0CWelKqH3jpucBlcr1CGjsJZXsT1zto=; b=BSl5g0KmMnHqfjCTQUqSdj2JORif4lFSBTa3mAcDxqh5qudCa9PX61YxLh5ZtmWrtC xQKQpWEwiwKfj5ey4APWKb2c4WLbO5X6wygBl37JsTvvoerFX1hXbJpy5/BWp3UBufYT gIwjBjPRsUuvEH0l5fthqTaHZ0+RAwnH92+XGpG2WgZtK3fOCOResaxHF5c0bthIuppz JEUPttGOFAJTc1SQnF7Nfyt+gP7y08K+kog+beh3CaOzsbb7riQ5MJgrSSEDS65q1ezx XkFqsk303joVFaDa+oFqVj8/xzpnXXS8jzhDgemPgP+JUBP1+wT9nTspJtAZnfcUpRYH FVOA== X-Forwarded-Encrypted: i=1; AHgh+RoHGprEksuS1DNV4YIdbUvcF+F1+B96lo5AGlJEY7Yf0mb3Qo9CZ6qBoFUCjJLF4X5J8RHVfKVodWqZtF4tDVhC@lists.infradead.org X-Gm-Message-State: AOJu0YzJAUONEkv/885nlgWNKcAPjv3t+SF7l3CtTFSefXw1vRWVAhpV fMvC8D99N8R+pF16VL9iRpqlxvTKaiiAfGmzTHwqma/srwAiwKttVtxUXqSo1WwrYNpOhQLaEj5 b4w6ZSpW8xJBV3fqeXMLkLNwfekCLcrqBhoc1N00gCxf5rOb+HoBRweqTSvCpSOsOLyBavSUfLk Kj4A== X-Gm-Gg: AfdE7ckONOSbv7y/etzhzSQyOhCj0bYhRiXxzIWEVJxCh0Prv6Juo02oNQTvXNZJBJE xPQ5Yte/5ZPKpJoKsQuP8LPBJh+E+TaGIsEN/JI2RJsbGO75RECXRYIVui4hr12QUwamEh5gxq3 iX3mY6I4w89B7u0a66oIPKBmrCLD7CTZXvWhnJQ/KySAAzQgyNjobLp1XhFdfP+VHY64npI6HJ3 VkuKQRImjxQux72l1JmZazXe5MfwZDvlQ5TxvQBQMQQRV+t4dgvyUSbcu4PzcSElw8h1f32CLTa AFx4X30lyV7+2j5PolVCgviOB5YPidsYLRzS/VWESOstPmvSrd1bSUQlW0SRhJin7af5wSzErAT PG1Cyc7pKo5RQuj5HRlsKjZ99hlHlTLP24M6riQf+L2V5ajyeft9ZJWZqSgHYj3mFf4MvbE617M mhz08fMqgNuXKN/y21m92oda8szOnZk0Umi86mSEbrBn1YHBqK5zhio9tQydGgTocLHqeGwvdfb Z2Jeg== X-Received: by 2002:a05:6102:549e:b0:744:cb59:d6e0 with SMTP id ada2fe7eead31-744dfbf6041mr4475520137.0.1783607463705; Thu, 09 Jul 2026 07:31:03 -0700 (PDT) X-Received: by 2002:a05:6102:549e:b0:744:cb59:d6e0 with SMTP id ada2fe7eead31-744dfbf6041mr4475388137.0.1783607462573; Thu, 09 Jul 2026 07:31:02 -0700 (PDT) Received: from ?IPV6:2001:1c00:c32:7800:5bfa:a036:83f0:f9ec? (2001-1c00-0c32-7800-5bfa-a036-83f0-f9ec.cable.dynamic.v6.ziggo.nl. [2001:1c00:c32:7800:5bfa:a036:83f0:f9ec]) by smtp.gmail.com with ESMTPSA id a640c23a62f3a-c15ad694736sm489092666b.0.2026.07.09.07.31.00 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Thu, 09 Jul 2026 07:31:01 -0700 (PDT) Message-ID: <5fb236b7-7b99-40fb-b80b-fa7e1dfccd70@oss.qualcomm.com> Date: Thu, 9 Jul 2026 16:31:00 +0200 MIME-Version: 1.0 User-Agent: Mozilla Thunderbird From: Hans de Goede Subject: Re: [PATCH v2 0/2] firmware: arm_scmi: Ensure automatic module loading To: Sudeep Holla Cc: Brian Masney , Bjorn Andersson , Cristian Marussi , Nathan Chancellor , Nicolas Schier , Michael Turquette , arm-scmi@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org, linux-kbuild@vger.kernel.org, Stephen Boyd , "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 References: <20260618-scmi-modalias-v2-0-8c7547c1be21@oss.qualcomm.com> <8c2a4ae3-95cc-489a-a7a4-90a3ee2597e9@oss.qualcomm.com> <20260709-spicy-fiery-squid-6eec1d@sudeepholla> <20260709-exuberant-galago-of-spirit-1c908f@sudeepholla> Content-Language: en-US, nl In-Reply-To: <20260709-exuberant-galago-of-spirit-1c908f@sudeepholla> Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 7bit X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwNzA5MDE0MyBTYWx0ZWRfX8FNk/RGhzifY 4o50bt1UxPBeRe+v2Zwq1gAakcnYmdM+/W6XQDWbF1Q57c/0pPQrfVU42OFfx6yjK9HoUbf4T2m QbEl8kjagi/3XDcMGaTdjwbiwP7CDkVcL1wQiaWn+0i2cdVzj0ulzcYzdJg9Hnl4kJRir1hd+6p TKLccuoH8aG+f4FBRQEeEL9dBZZFQsGX3TjtPLopppw/gdc6YnAMW+7t6ilHf5EcN+LyCWo9BHy q9GxewOmV1sIyVeqp3Z9gyyJrkA2LZ1FcNRvUHnK6uaiL/KR39l4gWf047sRT7Fl4fqqb5lFCio c8LjhZvzW3dOwahzdT6hsUDTk4crisqLVRIWh4Vrrw5qbCP4VrBxSYPtwwY4PRzbsksVNpVh3uV I51t8c4R3DQKwThJ+E/Jpqg3tyIjN5bcCbdWvRuqvaPh3SDPqud1xFSmdmLaXgN0LbHt6+Q9Ap3 W0/PiBXqi86GVy2lLsA== X-Proofpoint-Spam-Info: AW1haW4tMjYwNzA5MDE0MyBTYWx0ZWRfXxEz6weiUE1EX SX8/xVLba/2Jd5mscDSZzJCZkn23kQ0iBj0/2Glg6sb+EBVJrLlFEu/IceYEKziNVpPNychaC6G LuZWO4rq1OiZCI2IRsa8ZqCayZIANIc= X-Proofpoint-GUID: ybSL-45M9zjCRJZ4Sa6kZS4rJc8GzTv_ X-Proofpoint-ORIG-GUID: ybSL-45M9zjCRJZ4Sa6kZS4rJc8GzTv_ X-Authority-Analysis: v=2.4 cv=GJ441ONK c=1 sm=1 tr=0 ts=6a4fb0a8 cx=c_pps a=ULNsgckmlI/WJG3HAyAuOQ==:117 a=xqWC_Br6kY4A:10 a=IkcTkHD0fZMA:10 a=RAioF0-LDSMA:10 a=s4-Qcg_JpJYA:10 a=VkNPw1HP01LnGYTKEx00:22 a=u7WPNUs3qKkmUXheDGA7:22 a=gowsoOTTUOVcmtlkKump:22 a=1Iq74HBXAAAA:20 a=EUspDBNiAAAA:8 a=OLQ1oTztZwe7u39PbcAA:9 a=QEXdDO2ut3YA:10 a=1WsBpfsz9X-RYQiigVTh:22 a=bA3UWDv6hWIuX7UZL3qL:22 X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1143,Hydra:6.1.134,FMLib:17.12.100.49 definitions=2026-07-09_03,2026-07-09_02,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 malwarescore=0 lowpriorityscore=0 bulkscore=0 priorityscore=1501 clxscore=1015 suspectscore=0 spamscore=0 phishscore=0 adultscore=0 impostorscore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2606150000 definitions=main-2607090143 X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.9.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20260709_073105_872414_B581F67C X-CRM114-Status: GOOD ( 41.34 ) X-BeenThere: linux-arm-kernel@lists.infradead.org X-Mailman-Version: 2.1.34 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+linux-arm-kernel=archiver.kernel.org@lists.infradead.org Hi, On 9-Jul-26 16:21, Sudeep Holla wrote: > On Thu, Jul 09, 2026 at 04:07:17PM +0200, Hans de Goede wrote: >> Hi Brian, >> >> On 9-Jul-26 15:28, Brian Masney wrote: >>> Hi Hans, >>> >>> On Thu, Jul 09, 2026 at 03:22:29PM +0200, Hans de Goede wrote: >>>> On 9-Jul-26 12:10, Sudeep Holla wrote: >>>>> On Thu, Jun 18, 2026 at 10:31:12PM +0200, Hans de Goede wrote: >>>>>> On 18-Jun-26 17:56, Bjorn Andersson wrote: >>>>>>> SCMI drivers such as the Arm SCMI CPUfreq driver are allowed to built as >>>>>>> modules, but they are then not automatically loaded. Rework the SCMI >>>>>>> device table alias support to make modpost consume the information from >>>>>>> MODULE_DEVICE_TABLE(scmi, ...) and allow drivers to be loaded based on >>>>>>> this information, if known. Also add a protocol-based alias to also >>>>>>> trigger driver loading when only the SCMI protocol id is known. >>>>>>> >>>>>>> Signed-off-by: Bjorn Andersson >>>>>> >>>>>> So I just gave this a test spin and unfortunately it does not work. >>>>>> >>>>>> The problem with Fedora's kernel-config / setup is that the >>>>>> request_module() from patch 2/2 runs from the initramfs, but >>>>>> the scmi_cpufreq module is only available in the rootfs. >>>>>> >>>>>> It does work if I explictly add the scmi_cpufreq module to >>>>>> the initramfs, then it does get autoloaded. >>>>>> >>>>>> We really need some place to put a uevent sysfs attr which then >>>>>> gets replayed when udev is restarted from the rootfs and then >>>>>> re-reads all the uevent files as part of its coldplug >>>>>> enumeration. >>>>>> >>>>> >>>>> I don't have much knowledge on uevent to provide any suggestions/help. >>>>> But isn't this a generic requirement ? I mean you could have modules >>>>> install on the rootfs and not all of them are packed in initramfs ? >>>>> Just wondering if that works for other modules, we can examine how >>>>> do they work and what are we missing ? >>>> >>>> scmi is special because the actual devices under /sys/bus/scmi/devices >>>> only get created when the module with the driver is loaded because >>>> of some funtion/id mapping requiring info from the driver. >>>> >>>> Patch 2/2 tries to work around this by loading all scmi drivers matching >>>> the scmi protocol which is known at bus enumeration time, but this only >>>> works if the actual scmi driver is in the initramfs because this done >>>> through directly calling modprobe() from the kernel which does not >>>> get "replayed" when switching to the real rootfs. >>> >>> Should the SCMI drivers be added to the dracut module here? >>> >>> https://github.com/dracut-ng/dracut/blob/main/modules.d/70kernel-modules/module-setup.sh#L73 >>> >>> A few years ago we had to add the interconnect drivers to the list for >>> Fedora. >> >> That would be one solution. I first want to understand the problem better >> though. The scmi bus not creating the devices until the kmod with the driver >> has loaded is weird. > > I need to recall why we moved from static list of devices to dynamic. > One reason I can think right now is the vendor protocols and their drivers > But in general it was an attempt to help multiple drivers bind to different > scmi_devices that have same protocol ID. E.g. the performance protocol > can be used by cpufreq and devfreq/performance genpd drivers. Note it is ok to have multiple drivers bind to the same modalias, depending on the reason why there are multiple drivers either one should detect that it is not compatible and exit probe() with -ENODEV or there should be some other mechanism to make sure only one driver loads. E.g. duplicate USB device-ids happen (they shouldn't but they do) and then the drivers typically figure out if they are talking to the device which they were written for, or the other device with the same USB-ids and then one of the 2 drivers exits with -ENODEV. >> I wonder if we can just move a small part of the drivers >> (some mapping table) into the bus code and then just have this work as it >> does on regular busses. I hope to be able to make some time to look into >> this soonish. >> > > I started with that few years ago and we then moved to this dynamic > device creation. But I agree if it is deviation from the norms(which I > wasn't aware of at the time), we can remove it. Looking at the issue this is causing for automatic module loading if we can get back to the bus enumeration code always creating a device without waiting for the driver kmod to load then that would be good IMHO. Regards, Hans