Re: [PATCH v5 0/3] pmdomain: imx: build the SCU power domain driver as a module
Ulf Hansson <[email protected]>
| Newsgroups | dev.linux.lists.imx,org.infradead.lists.linux-arm-kernel,org.kernel.vger.linux-clk,org.kernel.vger.linux-devicetree,org.kernel.vger.linux-kernel,org.kernel.vger.linux-pm |
|---|---|
| Message-ID | <CAPx+jO956WAqXt-zbEyzU5btS7KsXn4fBemaj4r3qQNANNJCKA@mail.gmail.com> |
On Thu, Jul 23, 2026 at 4:05 AM <[email protected]> wrote: > > From: Zhipeng Wang <[email protected]> > > This series makes the i.MX SCU power domain driver buildable as a > loadable module, which is required for Android devices using the > Generic Kernel Image (GKI) where SoC-specific drivers must be modules. > > Patch 1 exports of_stdout (which the driver references to find the > console's power domain) from the OF core with EXPORT_SYMBOL_GPL(). > > Patch 2 converts CONFIG_IMX_SCU_PD from bool to tristate and adds > MODULE_DEVICE_TABLE() for autoloading. subsys_initcall() is used so > that when built-in the provider probes before its consumers (e.g. the > SCU clock driver at device_initcall level). No module_exit() is > provided since the provider cannot be safely removed at runtime. > > Patch 3 adds MODULE_SOFTDEP("pre: scu_pd") to the i.MX8QXP clock > driver so that modprobe loads the power domain module first when both > are built as modules. > > Because of the cross-subsystem dependency (patches touch drivers/of, > drivers/pmdomain, and drivers/clk), I would suggest taking the whole > series through one tree. > > Changes in v5: > - Fix MODULE_SOFTDEP module name from imx_scu_pd to scu_pd. (Sashiko > bot) > - Add Acked-by from Rob Herring for patch 1. > > Changes in v4: > - Add patch 3: MODULE_SOFTDEP in clk-imx8qxp to guarantee module load > order when both drivers are modules. (Sashiko bot) > > Changes in v3: > - Use subsys_initcall() instead of module_init() to fix probe ordering > between the power domain provider and the SCU clock consumer when > both are built-in. (Sashiko bot) > > Changes in v2: > - Drop module_platform_driver() which provides module_exit() and could > lead to use-after-free on module unload. Use module_init() only, so > the module cannot be unloaded. (Sashiko bot) > > Zhipeng Wang (3): > of: export of_stdout symbol > pmdomain: imx: scu-pd: allow building as a module > clk: imx: imx8qxp: add soft dependency on SCU power domain driver > > drivers/clk/imx/clk-imx8qxp.c | 1 + > drivers/of/base.c | 1 + > drivers/pmdomain/imx/Kconfig | 2 +- > drivers/pmdomain/imx/scu-pd.c | 8 +++++++- > 4 files changed, 10 insertions(+), 2 deletions(-) > > -- > 2.34.1 The v5 series applied for next, thanks! Kind regards Uffe