Re: [PATCH 7/7] iommu/arm-smmu: Allow building as a module

From: Robin Murphy
Date: Wed Oct 30 2019 - 11:33:31 EST


On 30/10/2019 15:22, Rob Herring wrote:
On Wed, Oct 30, 2019 at 02:51:12PM +0000, Will Deacon wrote:
By conditionally dropping support for the legacy binding and exporting
the newly introduced 'arm_smmu_impl_init()' function we can allow the
ARM SMMU driver to be built as a module.

Signed-off-by: Will Deacon <will@xxxxxxxxxx>
---
drivers/iommu/Kconfig | 14 ++++++++-
drivers/iommu/arm-smmu-impl.c | 6 ++++
drivers/iommu/arm-smmu.c | 54 +++++++++++++++++++++--------------
3 files changed, 51 insertions(+), 23 deletions(-)

diff --git a/drivers/iommu/Kconfig b/drivers/iommu/Kconfig
index 7583d47fc4d5..02703f51e533 100644
--- a/drivers/iommu/Kconfig
+++ b/drivers/iommu/Kconfig
@@ -350,7 +350,7 @@ config SPAPR_TCE_IOMMU
# ARM IOMMU support
config ARM_SMMU
- bool "ARM Ltd. System MMU (SMMU) Support"
+ tristate "ARM Ltd. System MMU (SMMU) Support"
depends on (ARM64 || ARM) && MMU
select IOMMU_API
select IOMMU_IO_PGTABLE_LPAE
@@ -362,6 +362,18 @@ config ARM_SMMU
Say Y here if your SoC includes an IOMMU device implementing
the ARM SMMU architecture.
+config ARM_SMMU_LEGACY_DT_BINDINGS
+ bool "Support the legacy \"mmu-masters\" devicetree bindings"

Can't we just remove this now? The only user is Seattle. Is anyone still
using Seattle AND DT? There's been no real dts change since Feb '16.
There's a bit of clean-up needed in the Seattle dts files, so I'd like
to remove them if there's not users.

If there are users, can't we just make them move to the new binding?
Yes compatibility, but that really depends on the users caring.

Apparently it's also in the wild on Cavium ThunderX/OcteonTX machines as well :(

I though Calxeda was using this too, but I guess we didn't get that
finished. We should probably remove that secure mode flag as well.

FWIW the secure quirk still comes in useful every now and then when people prototype stuff on 32-bit VExpress, where it turns out an SMMU is about the only thing which cares whether you're running Linux in Secure mode or not.

Robin.