Re: [PATCH v2 0/2] firmware: arm_scmi: Ensure automatic module loading
Brian Masney <[email protected]> Thu, 9 Jul 2026 09:28:18 -0400
| Newsgroups | org.kernel.vger.arm-scmi,dev.linux.lists.imx,org.infradead.lists.linux-arm-kernel,org.kernel.vger.linux-clk,org.kernel.vger.linux-hwmon,org.kernel.vger.linux-iio,org.kernel.vger.linux-input,org.kernel.vger.linux-kbuild,org.kernel.vger.linux-kernel,org.kernel.vger.linux-pm,org.kernel.vger.linux-rtc |
|---|---|
| Message-ID | <[email protected]> |
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 <[email protected]> > >> > >> 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. Brian