From 25e74c53fca5b431943ed7a62b3c5fd7ea8ff3fc Mon Sep 17 00:00:00 2001 From: Alistair Delva Date: Tue, 25 Mar 2025 13:21:35 -0700 Subject: [PATCH] ANDROID: suppress IOMMU_IO_PGTABLE_LPAE on 32-bit Originally init/Kconfig.gki was just excluded on 32-bit, which works fine for allmodconfig builds, but breaks downstream boards trying to build specific drivers modularly (in a 'mixed tree' configuration) for 32-bit ARM with Kleaf. Replace the workaround with a new one. Bug: 379954362 Signed-off-by: Alistair Delva Change-Id: Ia67da020f561fdc43e73a68984ca882bbe0d3082 --- init/Kconfig.gki | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/init/Kconfig.gki b/init/Kconfig.gki index d14b20dd2398..88f4946d963a 100644 --- a/init/Kconfig.gki +++ b/init/Kconfig.gki @@ -90,11 +90,17 @@ config GKI_HIDDEN_GPIO_CONFIGS These are normally selected implicitly when a module that relies on it is configured. +# If this file is included on a 32-bit allmodconfig build, the select for +# IOMMU_IO_PGTABLE_LPAE will trigger an "unmet direct dependency" warning +# because this option is incompatible with GENERIC_ATOMIC64, which is +# required by CPU_V6 and implied by ARCH_BCM2835. ARCH_BCM2835 is enabled +# in the ARM defconfig (multi_v7_defconfig) and implied by many BCM2835 +# drivers, so it is lower impact to disable IOMMU_IO_PGTABLE_LPAE here config GKI_HIDDEN_QCOM_CONFIGS bool "Hidden QCOM configs needed for GKI" select QCOM_SMEM_STATE select QCOM_GDSC if (ARCH_QCOM) - select IOMMU_IO_PGTABLE_LPAE if (ARCH_QCOM) + select IOMMU_IO_PGTABLE_LPAE if (ARCH_QCOM && 64BIT) select INTERCONNECT_QCOM if (ARCH_QCOM) select AUXILIARY_BUS if (ARCH_QCOM)