treewide: Move dma_ops from struct dev_archdata into struct device
Some but not all architectures provide set_dma_ops(). Move dma_ops from struct dev_archdata into struct device such that it becomes possible on all architectures to configure dma_ops per device. Signed-off-by: Bart Van Assche <bart.vanassche@sandisk.com> Acked-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org> Cc: Benjamin Herrenschmidt <benh@kernel.crashing.org> Cc: Boris Ostrovsky <boris.ostrovsky@oracle.com> Cc: David Woodhouse <dwmw2@infradead.org> Cc: Juergen Gross <jgross@suse.com> Cc: H. Peter Anvin <hpa@zytor.com> Cc: Ingo Molnar <mingo@redhat.com> Cc: linux-arch@vger.kernel.org Cc: linux-kernel@vger.kernel.org Cc: Russell King <linux@armlinux.org.uk> Cc: x86@kernel.org Signed-off-by: Doug Ledford <dledford@redhat.com>
This commit is contained in:

committed by
Doug Ledford

parent
5299709d0a
commit
5657933dbb
@@ -515,7 +515,7 @@ static void iommu_uninit_device(struct device *dev)
|
||||
iommu_group_remove_device(dev);
|
||||
|
||||
/* Remove dma-ops */
|
||||
dev->archdata.dma_ops = NULL;
|
||||
dev->dma_ops = NULL;
|
||||
|
||||
/*
|
||||
* We keep dev_data around for unplugged devices and reuse it when the
|
||||
@@ -2164,7 +2164,7 @@ static int amd_iommu_add_device(struct device *dev)
|
||||
dev_name(dev));
|
||||
|
||||
iommu_ignore_device(dev);
|
||||
dev->archdata.dma_ops = &nommu_dma_ops;
|
||||
dev->dma_ops = &nommu_dma_ops;
|
||||
goto out;
|
||||
}
|
||||
init_iommu_group(dev);
|
||||
@@ -2181,7 +2181,7 @@ static int amd_iommu_add_device(struct device *dev)
|
||||
if (domain->type == IOMMU_DOMAIN_IDENTITY)
|
||||
dev_data->passthrough = true;
|
||||
else
|
||||
dev->archdata.dma_ops = &amd_iommu_dma_ops;
|
||||
dev->dma_ops = &amd_iommu_dma_ops;
|
||||
|
||||
out:
|
||||
iommu_completion_wait(iommu);
|
||||
|
Reference in New Issue
Block a user