]> asedeno.scripts.mit.edu Git - linux.git/blobdiff - drivers/iommu/virtio-iommu.c
Merge branch 'linus' of git://git.kernel.org/pub/scm/linux/kernel/git/herbert/crypto-2.6
[linux.git] / drivers / iommu / virtio-iommu.c
index 315c7cc4f99d866c2629b312f49fd1e6a4619e22..cce329d71fbad0230544e11b9c5aa7216f353c80 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,
 };