[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-Id: <20250523121257.2340274-1-arnd@kernel.org>
Date: Fri, 23 May 2025 14:12:53 +0200
From: Arnd Bergmann <arnd@...nel.org>
To: Will Deacon <will@...nel.org>,
Joerg Roedel <joro@...tes.org>,
Lu Baolu <baolu.lu@...ux.intel.com>,
Rolf Eike Beer <eb@...ix.com>
Cc: Arnd Bergmann <arnd@...db.de>,
Robin Murphy <robin.murphy@....com>,
Jason Gunthorpe <jgg@...pe.ca>,
Nicolin Chen <nicolinc@...dia.com>,
Nate Watterson <nwatterson@...dia.com>,
Andy Shevchenko <andriy.shevchenko@...ux.intel.com>,
linux-arm-kernel@...ts.infradead.org,
iommu@...ts.linux.dev,
linux-kernel@...r.kernel.org
Subject: [PATCH] iommu: arm: fix building smmuv3 as loadable module
From: Arnd Bergmann <arnd@...db.de>
The smmu-v3 kunit test fail to link when the SMMU driver is configured
as a loadable mdoule:
ERROR: modpost: "arm_smmu_make_cdtable_ste" [drivers/iommu/arm/arm-smmu-v3/arm-smmu-v3-test.ko] undefined!
ERROR: modpost: "arm_smmu_make_s2_domain_ste" [drivers/iommu/arm/arm-smmu-v3/arm-smmu-v3-test.ko] undefined!
ERROR: modpost: "arm_smmu_make_s1_cd" [drivers/iommu/arm/arm-smmu-v3/arm-smmu-v3-test.ko] undefined!
ERROR: modpost: "arm_smmu_make_bypass_ste" [drivers/iommu/arm/arm-smmu-v3/arm-smmu-v3-test.ko] undefined!
ERROR: modpost: "arm_smmu_make_abort_ste" [drivers/iommu/arm/arm-smmu-v3/arm-smmu-v3-test.ko] undefined!
ERROR: modpost: "arm_smmu_make_sva_cd" [drivers/iommu/arm/arm-smmu-v3/arm-smmu-v3-test.ko] undefined!
ERROR: modpost: "arm_smmu_get_ste_used" [drivers/iommu/arm/arm-smmu-v3/arm-smmu-v3-test.ko] undefined!
ERROR: modpost: "arm_smmu_write_entry" [drivers/iommu/arm/arm-smmu-v3/arm-smmu-v3-test.ko] undefined!
ERROR: modpost: "arm_smmu_get_cd_used" [drivers/iommu/arm/arm-smmu-v3/arm-smmu-v3-test.ko] undefined!
The problem is that the drivers/iommu/arm/arm-smmu-v3/Makefile only gets
parsed while building modules, but the driver itself is accidentally marked
as built-in unconditionally, so not only does the kunit test fail, but the
entire driver is missing.
Change the driver configuration back to $(CONFIG_ARM_SMMU_V3) so it
actually gets build here.
Fixes: e436576b0231 ("iommu: make inclusion of arm/arm-smmu-v3 directory conditional")
Signed-off-by: Arnd Bergmann <arnd@...db.de>
---
drivers/iommu/arm/arm-smmu-v3/Makefile | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/drivers/iommu/arm/arm-smmu-v3/Makefile b/drivers/iommu/arm/arm-smmu-v3/Makefile
index 6cc7c8557b9e..493a659cc66b 100644
--- a/drivers/iommu/arm/arm-smmu-v3/Makefile
+++ b/drivers/iommu/arm/arm-smmu-v3/Makefile
@@ -1,5 +1,5 @@
# SPDX-License-Identifier: GPL-2.0
-obj-y += arm_smmu_v3.o
+obj-$(CONFIG_ARM_SMMU_V3) += arm_smmu_v3.o
arm_smmu_v3-y := arm-smmu-v3.o
arm_smmu_v3-$(CONFIG_ARM_SMMU_V3_IOMMUFD) += arm-smmu-v3-iommufd.o
arm_smmu_v3-$(CONFIG_ARM_SMMU_V3_SVA) += arm-smmu-v3-sva.o
--
2.39.5
Powered by blists - more mailing lists