@@ -25,12 +25,15 @@ if IOMMU_SUPPORT
menu "Generic IOMMU Pagetable Support"
-# Selected by the actual pagetable implementations
config IOMMU_IO_PGTABLE
- bool
+ bool "IOMMU Pagetable support"
+ help
+ Enable support for using IOMMU pagetables. This option enables
+ the generic IOMMU pagetable framework for registering IOMMU
+ pagetable formats, as well as managing IOMMU pagetable instances.
config IOMMU_IO_PGTABLE_LPAE
- bool "ARMv7/v8 Long Descriptor Format"
+ tristate "ARMv7/v8 Long Descriptor Format"
select IOMMU_IO_PGTABLE
depends on ARM || ARM64 || (COMPILE_TEST && !GENERIC_ATOMIC64)
help
@@ -49,7 +52,7 @@ config IOMMU_IO_PGTABLE_LPAE_SELFTEST
If unsure, say N here.
config IOMMU_IO_PGTABLE_ARMV7S
- bool "ARMv7/v8 Short Descriptor Format"
+ tristate "ARMv7/v8 Short Descriptor Format"
select IOMMU_IO_PGTABLE
depends on ARM || ARM64 || COMPILE_TEST
help
@@ -1014,3 +1014,5 @@ static void __exit arm_v7s_exit(void)
io_pgtable_ops_unregister(ARM_V7S);
}
module_exit(arm_v7s_exit);
+
+MODULE_LICENSE("GPL v2");
@@ -1306,3 +1306,5 @@ static void __exit arm_lpae_exit(void)
io_pgtable_ops_unregister(arm_lpae_init_fns_table[i].fmt);
}
module_exit(arm_lpae_exit);
+
+MODULE_LICENSE("GPL v2");
Now that everything is in place for modular io-pgtable formats, allow the ARM LPAE and ARMV7S io-pgtable formats to be built as modules, and allow the io-pgtable framework to be enabled, without having to explicitly enable an io-pgtable format. Signed-off-by: Isaac J. Manjarres <isaacm@codeaurora.org> --- drivers/iommu/Kconfig | 11 +++++++---- drivers/iommu/io-pgtable-arm-v7s.c | 2 ++ drivers/iommu/io-pgtable-arm.c | 2 ++ 3 files changed, 11 insertions(+), 4 deletions(-)