Re: [PATCH v4] pmdomain: imx: Make IMX8M/IMX9 BLK_CTRL tristate
From: Ulf Hansson <hidden>
Date: 2026-07-14 13:25:33
Also in:
imx, linux-arm-kernel, lkml
On Mon, Apr 20, 2026 at 4:22 AM Zhipeng Wang [off-list ref] wrote:
Convert IMX8M_BLK_CTRL and IMX9_BLK_CTRL from bool to tristate to allow building as loadable modules. This change is required to support Android devices using Generic Kernel Image (GKI) kernels, where SoC-specific drivers must be built as loadable modules rather than built into the core kernel image. For i.MX8M and i.MX9 devices running Android with GKI kernels, the BLK_CTRL drivers therefore need to be loadable. Without tristate support, power domains cannot be initialized correctly, making these systems non-functional under GKI. Add prompt strings to make these options visible and configurable in menuconfig, keeping them enabled by default on appropriate platforms. Also remove the IMX_GPCV2_PM_DOMAINS dependency from IMX9_BLK_CTRL. This dependency was incorrect from the beginning because i.MX93 uses a different power domain architecture compared to i.MX8M series: - i.MX8M uses GPCv2 (General Power Controller v2) for power domain management, hence IMX8M_BLK_CTRL correctly depends on it. - i.MX93 uses BLK_CTRL directly without GPCv2. The hardware doesn't have GPCv2 at all. Signed-off-by: Zhipeng Wang <redacted> Reviewed-by: Frank Li <Frank.Li@nxp.com>
Apologize for the delay, I have simply missed this one. Applied for next, thanks! Kind regards Uffe
quoted hunk ↗ jump to hunk
--- Changes in v4: - No functional changes - Added detailed explanation about GKI (Generic Kernel Image) requirement in the commit message to clarify why tristate support is needed for Android devices Changes in v3: - No functional changes - Fixed typo reported by Frank - Added Reviewed-by tag from Frank Li Changes in v2: - No functional changes - Expanded commit message to explain the architectural differences between i.MX8M and i.MX93 power domain management - Clarified why IMX_GPCV2_PM_DOMAINS dependency removal is correct for i.MX93 --- drivers/pmdomain/imx/Kconfig | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-)diff --git a/drivers/pmdomain/imx/Kconfig b/drivers/pmdomain/imx/Kconfig index 00203615c65e..9168d183b0c5 100644 --- a/drivers/pmdomain/imx/Kconfig +++ b/drivers/pmdomain/imx/Kconfig@@ -10,15 +10,18 @@ config IMX_GPCV2_PM_DOMAINS default y if SOC_IMX7D config IMX8M_BLK_CTRL - bool - default SOC_IMX8M && IMX_GPCV2_PM_DOMAINS + tristate "i.MX8M BLK CTRL driver" + depends on SOC_IMX8M + depends on IMX_GPCV2_PM_DOMAINS depends on PM_GENERIC_DOMAINS depends on COMMON_CLK + default y config IMX9_BLK_CTRL - bool - default SOC_IMX9 && IMX_GPCV2_PM_DOMAINS + tristate "i.MX93 BLK CTRL driver" + depends on SOC_IMX9 depends on PM_GENERIC_DOMAINS + default y config IMX_SCU_PD bool "IMX SCU Power Domain driver" --2.34.1