Skip to content

Commit

Permalink
dma-mapping: pci: move pci_set_dma_mask and pci_set_consistent_dma_ma…
Browse files Browse the repository at this point in the history
…sk to pci-dma-compat.h

We can use pci-dma-compat.h to implement pci_set_dma_mask and
pci_set_consistent_dma_mask as we do with the other PCI DMA API.

We can remove HAVE_ARCH_PCI_SET_DMA_MASK too.

Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
Cc: Jesse Barnes <jbarnes@virtuousgeek.org>
Cc: Greg KH <greg@kroah.com>
Cc: Kay Sievers <kay.sievers@vrfy.org>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
  • Loading branch information
FUJITA Tomonori authored and Linus Torvalds committed Mar 12, 2010
1 parent 6fee48c commit 5f3cd1e
Show file tree
Hide file tree
Showing 3 changed files with 12 additions and 33 deletions.
28 changes: 0 additions & 28 deletions drivers/pci/pci.c
Original file line number Diff line number Diff line change
Expand Up @@ -2298,32 +2298,6 @@ void pci_msi_off(struct pci_dev *dev)
}
}

#ifndef HAVE_ARCH_PCI_SET_DMA_MASK
/*
* These can be overridden by arch-specific implementations
*/
int
pci_set_dma_mask(struct pci_dev *dev, u64 mask)
{
int ret = dma_set_mask(&dev->dev, mask);
if (ret)
return ret;
dev_dbg(&dev->dev, "using %dbit DMA mask\n", fls64(mask));
return 0;
}

int
pci_set_consistent_dma_mask(struct pci_dev *dev, u64 mask)
{
int ret = dma_set_coherent_mask(&dev->dev, mask);
if (ret)
return ret;

dev_dbg(&dev->dev, "using %dbit consistent DMA mask\n", fls64(mask));
return 0;
}
#endif

#ifndef HAVE_ARCH_PCI_SET_DMA_MAX_SEGMENT_SIZE
int pci_set_dma_max_seg_size(struct pci_dev *dev, unsigned int size)
{
Expand Down Expand Up @@ -3065,8 +3039,6 @@ EXPORT_SYMBOL(pci_set_mwi);
EXPORT_SYMBOL(pci_try_set_mwi);
EXPORT_SYMBOL(pci_clear_mwi);
EXPORT_SYMBOL_GPL(pci_intx);
EXPORT_SYMBOL(pci_set_dma_mask);
EXPORT_SYMBOL(pci_set_consistent_dma_mask);
EXPORT_SYMBOL(pci_assign_resource);
EXPORT_SYMBOL(pci_find_parent_resource);
EXPORT_SYMBOL(pci_select_bars);
Expand Down
15 changes: 12 additions & 3 deletions include/asm-generic/pci-dma-compat.h
Original file line number Diff line number Diff line change
Expand Up @@ -6,9 +6,6 @@

#include <linux/dma-mapping.h>

/* note pci_set_dma_mask isn't here, since it's a public function
* exported from drivers/pci, use dma_supported instead */

static inline int
pci_dma_supported(struct pci_dev *hwdev, u64 mask)
{
Expand Down Expand Up @@ -104,4 +101,16 @@ pci_dma_mapping_error(struct pci_dev *pdev, dma_addr_t dma_addr)
return dma_mapping_error(&pdev->dev, dma_addr);
}

#ifdef CONFIG_PCI
static inline int pci_set_dma_mask(struct pci_dev *dev, u64 mask)
{
return dma_set_mask(&dev->dev, mask);
}

static inline int pci_set_consistent_dma_mask(struct pci_dev *dev, u64 mask)
{
return dma_set_coherent_mask(&dev->dev, mask);
}
#endif

#endif
2 changes: 0 additions & 2 deletions include/linux/pci.h
Original file line number Diff line number Diff line change
Expand Up @@ -769,8 +769,6 @@ int pci_try_set_mwi(struct pci_dev *dev);
void pci_clear_mwi(struct pci_dev *dev);
void pci_intx(struct pci_dev *dev, int enable);
void pci_msi_off(struct pci_dev *dev);
int pci_set_dma_mask(struct pci_dev *dev, u64 mask);
int pci_set_consistent_dma_mask(struct pci_dev *dev, u64 mask);
int pci_set_dma_max_seg_size(struct pci_dev *dev, unsigned int size);
int pci_set_dma_seg_boundary(struct pci_dev *dev, unsigned long mask);
int pcix_get_max_mmrbc(struct pci_dev *dev);
Expand Down

0 comments on commit 5f3cd1e

Please sign in to comment.