iommu: virtio: Use generic_iommu_put_resv_regions()
authorThierry Reding <treding@nvidia.com>
Wed, 18 Dec 2019 13:42:05 +0000 (14:42 +0100)
committerJoerg Roedel <jroedel@suse.de>
Mon, 23 Dec 2019 13:07:03 +0000 (14:07 +0100)
Use the new standard function instead of open-coding it.

Cc: Jean-Philippe Brucker <jean-philippe@linaro.org>
Cc: virtualization@lists.linux-foundation.org
Reviewed-by: Jean-Philippe Brucker <jean-philippe@linaro.org>
Signed-off-by: Thierry Reding <treding@nvidia.com>
Signed-off-by: Joerg Roedel <jroedel@suse.de>
drivers/iommu/virtio-iommu.c

index 315c7cc..cce329d 100644 (file)
@@ -837,14 +837,6 @@ static void viommu_get_resv_regions(struct device *dev, struct list_head *head)
        iommu_dma_get_resv_regions(dev, head);
 }
 
-static void viommu_put_resv_regions(struct device *dev, struct list_head *head)
-{
-       struct iommu_resv_region *entry, *next;
-
-       list_for_each_entry_safe(entry, next, head, list)
-               kfree(entry);
-}
-
 static struct iommu_ops viommu_ops;
 static struct virtio_driver virtio_iommu_drv;
 
@@ -914,7 +906,7 @@ static int viommu_add_device(struct device *dev)
 err_unlink_dev:
        iommu_device_unlink(&viommu->iommu, dev);
 err_free_dev:
-       viommu_put_resv_regions(dev, &vdev->resv_regions);
+       generic_iommu_put_resv_regions(dev, &vdev->resv_regions);
        kfree(vdev);
 
        return ret;
@@ -932,7 +924,7 @@ static void viommu_remove_device(struct device *dev)
 
        iommu_group_remove_device(dev);
        iommu_device_unlink(&vdev->viommu->iommu, dev);
-       viommu_put_resv_regions(dev, &vdev->resv_regions);
+       generic_iommu_put_resv_regions(dev, &vdev->resv_regions);
        kfree(vdev);
 }
 
@@ -961,7 +953,7 @@ static struct iommu_ops viommu_ops = {
        .remove_device          = viommu_remove_device,
        .device_group           = viommu_device_group,
        .get_resv_regions       = viommu_get_resv_regions,
-       .put_resv_regions       = viommu_put_resv_regions,
+       .put_resv_regions       = generic_iommu_put_resv_regions,
        .of_xlate               = viommu_of_xlate,
 };