[PATCH v3 0/2] pmdomain: imx: build the SCU power domain driver as a module
From: <hidden>
Date: 2026-07-22 07:15:26
Also in:
imx, linux-devicetree, linux-pm, lkml
From: Zhipeng Wang <redacted> 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), fixing existing "failed to attached the power domain" warnings. No module_exit() is provided since the provider cannot be safely removed at runtime. Because of the cross-subsystem dependency (patch 1 touches drivers/of, patch 2 touches drivers/pmdomain), I would suggest taking the whole series through one tree. 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 (2): of: export of_stdout symbol pmdomain: imx: scu-pd: allow building as a module drivers/of/base.c | 1 + drivers/pmdomain/imx/Kconfig | 2 +- drivers/pmdomain/imx/scu-pd.c | 8 +++++++- 3 files changed, 9 insertions(+), 2 deletions(-) -- 2.34.1