diff options
author | Robin Murphy <robin.murphy@arm.com> | 2023-11-21 18:04:01 +0000 |
---|---|---|
committer | Joerg Roedel <jroedel@suse.de> | 2023-11-27 11:03:15 +0100 |
commit | 01bf81af85458c0427a70ae3bf90b375d038c95b (patch) | |
tree | cba61cf74084a463ee555856b53835378e202193 /drivers/iommu | |
parent | b4c0497169d54e08346678dbc79ded7809dae5b7 (diff) | |
download | lwn-01bf81af85458c0427a70ae3bf90b375d038c95b.tar.gz lwn-01bf81af85458c0427a70ae3bf90b375d038c95b.zip |
iommu/arm-smmu: Don't register fwnode for legacy binding
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.
Acked-by: Will Deacon <will@kernel.org>
Reviewed-by: Jason Gunthorpe <jgg@nvidia.com>
Reviewed-by: Jerry Snitselaar <jsnitsel@redhat.com>
Signed-off-by: Robin Murphy <robin.murphy@arm.com>
Link: https://lore.kernel.org/r/18b0f812a42a74dd6924aea24e68ab409d6e1b52.1700589539.git.robin.murphy@arm.com
Signed-off-by: Joerg Roedel <jroedel@suse.de>
Diffstat (limited to 'drivers/iommu')
-rw-r--r-- | drivers/iommu/arm/arm-smmu/arm-smmu.c | 3 |
1 files changed, 2 insertions, 1 deletions
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); |