Re: [PATCH v5 5/7] iommu/arm-smmu: Don't register fwnode for legacy binding

From: Will Deacon
Date: Thu Oct 12 2023 - 08:56:18 EST


On Wed, Oct 11, 2023 at 07:14:52PM +0100, Robin Murphy wrote:
> When using the legacy binding we bypass the of_xlate mechanism, so avoid
> registering the instance fwnodes which act as keys for that. This will
> help __iommu_probe_device() to retrieve the registered ops the same way
> as for x86 etc. when no fwspec has previously been set up by of_xlate.
>
> Reviewed-by: Jason Gunthorpe <jgg@xxxxxxxxxx>
> Signed-off-by: Robin Murphy <robin.murphy@xxxxxxx>
> ---
> drivers/iommu/arm/arm-smmu/arm-smmu.c | 3 ++-
> 1 file changed, 2 insertions(+), 1 deletion(-)
>
> diff --git a/drivers/iommu/arm/arm-smmu/arm-smmu.c b/drivers/iommu/arm/arm-smmu/arm-smmu.c
> index d6d1a2a55cc0..4b83a3adacd6 100644
> --- a/drivers/iommu/arm/arm-smmu/arm-smmu.c
> +++ b/drivers/iommu/arm/arm-smmu/arm-smmu.c
> @@ -2161,7 +2161,8 @@ static int arm_smmu_device_probe(struct platform_device *pdev)
> return err;
> }
>
> - err = iommu_device_register(&smmu->iommu, &arm_smmu_ops, dev);
> + err = iommu_device_register(&smmu->iommu, &arm_smmu_ops,
> + using_legacy_binding ? NULL : dev);
> if (err) {
> dev_err(dev, "Failed to register iommu\n");
> iommu_device_sysfs_remove(&smmu->iommu);
> --
> 2.39.2.101.g768bb238c484.dirty

Acked-by: Will Deacon <will@xxxxxxxxxx>

Will