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

Robin Murphy robin.murphy at arm.com
Wed Dec 23 08:05:25 EST 2020


On 2020-12-22 19:49, isaacm at codeaurora.org wrote:
> On 2020-12-22 11:27, Robin Murphy wrote:
>> 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.
>>
>> Robin.
>>
> Okay, I'll fix up the commit message, as well as the code, so that it
> only depends on io-pgtable-arm.

Well, IIUC it would make sense to keep the softdep for when the v7s 
module *is* present; I just wanted to clarify that it's more of a 
nice-to-have rather than a necessity.

Robin.

> Thanks,
> Isaac
>>> 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_LICENSE("GPL v2");
>>> +MODULE_SOFTDEP("pre: io-pgtable-arm io-pgtable-arm-v7s");
>>>
>>
>> _______________________________________________
>> linux-arm-kernel mailing list
>> linux-arm-kernel at lists.infradead.org
>> http://lists.infradead.org/mailman/listinfo/linux-arm-kernel



More information about the linux-arm-kernel mailing list