[PATCH v2 3/7] iommu/arm-smmu: Add dependency on io-pgtable format modules

Robin Murphy robin.murphy at arm.com
Tue Dec 22 14:27:18 EST 2020

On 2020-12-22 00:44, Isaac J. Manjarres wrote:
> The SMMU driver depends on the availability of the ARM LPAE and
> ARM V7S io-pgtable format code to work properly. In preparation

Nit: we don't really depend on v7s - we *can* use it if it's available, 
address constraints are suitable, and the SMMU implementation actually 
supports it (many don't), but we can still quite happily not use it even 
so. LPAE is mandatory in the architecture so that's our only hard 
requirement, embodied in the kconfig select.

This does mean there may technically still be a corner case involving 
ARM_SMMU=y and IO_PGTABLE_ARM_V7S=m, but at worst it's now a runtime 
failure rather than a build error, so unless and until anyone 
demonstrates that it actually matters I don't feel particularly inclined 
to give it much thought.


> for having the io-pgtable formats as modules, add a "pre"
> dependency with MODULE_SOFTDEP() to ensure that the io-pgtable
> format modules are loaded before loading the ARM SMMU driver module.
> Signed-off-by: Isaac J. Manjarres <isaacm at codeaurora.org>
> ---
>   drivers/iommu/arm/arm-smmu/arm-smmu.c | 1 +
>   1 file changed, 1 insertion(+)
> diff --git a/drivers/iommu/arm/arm-smmu/arm-smmu.c b/drivers/iommu/arm/arm-smmu/arm-smmu.c
> index d8c6bfd..a72649f 100644
> --- a/drivers/iommu/arm/arm-smmu/arm-smmu.c
> +++ b/drivers/iommu/arm/arm-smmu/arm-smmu.c
> @@ -2351,3 +2351,4 @@ MODULE_DESCRIPTION("IOMMU API for ARM architected SMMU implementations");
>   MODULE_AUTHOR("Will Deacon <will at kernel.org>");
>   MODULE_ALIAS("platform:arm-smmu");
> +MODULE_SOFTDEP("pre: io-pgtable-arm io-pgtable-arm-v7s");

More information about the linux-arm-kernel mailing list