]> Gentwo Git Trees - linux/.git/commitdiff
iommu/exynos-iommu: Set release_domain to exynos_identity_domain
authorNicolin Chen <nicolinc@nvidia.com>
Thu, 23 Oct 2025 02:21:06 +0000 (19:21 -0700)
committerJoerg Roedel <joerg.roedel@amd.com>
Mon, 27 Oct 2025 12:55:35 +0000 (13:55 +0100)
Following a coming core change to pass in the old domain pointer into the
attach_dev op and its callbacks, exynos_iommu_identity_attach() will need
this new argument too, which the release_device op doesn't provide.

Instead, the core provides a release_domain to attach to the device prior
to invoking the release_device callback. Thus, simply use that.

Acked-by: Marek Szyprowski <m.szyprowski@samsung.com>
Reviewed-by: Jason Gunthorpe <jgg@nvidia.com>
Signed-off-by: Nicolin Chen <nicolinc@nvidia.com>
Signed-off-by: Joerg Roedel <joerg.roedel@amd.com>
drivers/iommu/exynos-iommu.c

index b6edd178fe25e7c258cc82c47e9170fb4db74064..0857519ca718815a5db5cc887300a6428c9aba7d 100644 (file)
@@ -1429,8 +1429,6 @@ static void exynos_iommu_release_device(struct device *dev)
        struct exynos_iommu_owner *owner = dev_iommu_priv_get(dev);
        struct sysmmu_drvdata *data;
 
-       WARN_ON(exynos_iommu_identity_attach(&exynos_identity_domain, dev));
-
        list_for_each_entry(data, &owner->controllers, owner_node)
                device_link_del(data->link);
 }
@@ -1476,6 +1474,7 @@ static int exynos_iommu_of_xlate(struct device *dev,
 
 static const struct iommu_ops exynos_iommu_ops = {
        .identity_domain = &exynos_identity_domain,
+       .release_domain = &exynos_identity_domain,
        .domain_alloc_paging = exynos_iommu_domain_alloc_paging,
        .device_group = generic_device_group,
        .probe_device = exynos_iommu_probe_device,