diff options
author | David S. Miller <davem@davemloft.net> | 2008-08-27 21:40:38 -0400 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2008-08-29 05:15:07 -0400 |
commit | 4b1c5df2af38b2681b7c1a058534d17c54aaf6cf (patch) | |
tree | 3fd9131a506185fa942865cc5e54ecf274a3b5fb /arch/sparc/mm/iommu.c | |
parent | b1387c35bef6da55f6f2c27dfb748c86a4ef7ef9 (diff) |
sparc32: Make mmu_map_dma_area and mmu_unmap_dma_area take a device pointer.
This lets us kill this "map it in every IOMMU" crazy code, and also
some of the final references to sbus_root.
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'arch/sparc/mm/iommu.c')
-rw-r--r-- | arch/sparc/mm/iommu.c | 10 |
1 files changed, 5 insertions, 5 deletions
diff --git a/arch/sparc/mm/iommu.c b/arch/sparc/mm/iommu.c index 832d99f33470..2970cea877b1 100644 --- a/arch/sparc/mm/iommu.c +++ b/arch/sparc/mm/iommu.c | |||
@@ -334,11 +334,11 @@ static void iommu_release_scsi_sgl(struct device *dev, struct scatterlist *sg, i | |||
334 | } | 334 | } |
335 | 335 | ||
336 | #ifdef CONFIG_SBUS | 336 | #ifdef CONFIG_SBUS |
337 | static int iommu_map_dma_area(dma_addr_t *pba, unsigned long va, | 337 | static int iommu_map_dma_area(struct device *dev, dma_addr_t *pba, unsigned long va, |
338 | unsigned long addr, int len) | 338 | unsigned long addr, int len) |
339 | { | 339 | { |
340 | struct iommu_struct *iommu = dev->archdata.iommu; | ||
340 | unsigned long page, end; | 341 | unsigned long page, end; |
341 | struct iommu_struct *iommu = sbus_root->ofdev.dev.archdata.iommu; | ||
342 | iopte_t *iopte = iommu->page_table; | 342 | iopte_t *iopte = iommu->page_table; |
343 | iopte_t *first; | 343 | iopte_t *first; |
344 | int ioptex; | 344 | int ioptex; |
@@ -401,9 +401,9 @@ static int iommu_map_dma_area(dma_addr_t *pba, unsigned long va, | |||
401 | return 0; | 401 | return 0; |
402 | } | 402 | } |
403 | 403 | ||
404 | static void iommu_unmap_dma_area(unsigned long busa, int len) | 404 | static void iommu_unmap_dma_area(struct device *dev, unsigned long busa, int len) |
405 | { | 405 | { |
406 | struct iommu_struct *iommu = sbus_root->ofdev.dev.archdata.iommu; | 406 | struct iommu_struct *iommu = dev->archdata.iommu; |
407 | iopte_t *iopte = iommu->page_table; | 407 | iopte_t *iopte = iommu->page_table; |
408 | unsigned long end; | 408 | unsigned long end; |
409 | int ioptex = (busa - iommu->start) >> PAGE_SHIFT; | 409 | int ioptex = (busa - iommu->start) >> PAGE_SHIFT; |