Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

dma-mapping: pci: move pci_set_dma_mask and pci_set_consistent_dma_mask 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>

authored by

FUJITA Tomonori and committed by
Linus Torvalds
5f3cd1e0 6fee48cd

+12 -33
-28
drivers/pci/pci.c
··· 2298 2298 } 2299 2299 } 2300 2300 2301 - #ifndef HAVE_ARCH_PCI_SET_DMA_MASK 2302 - /* 2303 - * These can be overridden by arch-specific implementations 2304 - */ 2305 - int 2306 - pci_set_dma_mask(struct pci_dev *dev, u64 mask) 2307 - { 2308 - int ret = dma_set_mask(&dev->dev, mask); 2309 - if (ret) 2310 - return ret; 2311 - dev_dbg(&dev->dev, "using %dbit DMA mask\n", fls64(mask)); 2312 - return 0; 2313 - } 2314 - 2315 - int 2316 - pci_set_consistent_dma_mask(struct pci_dev *dev, u64 mask) 2317 - { 2318 - int ret = dma_set_coherent_mask(&dev->dev, mask); 2319 - if (ret) 2320 - return ret; 2321 - 2322 - dev_dbg(&dev->dev, "using %dbit consistent DMA mask\n", fls64(mask)); 2323 - return 0; 2324 - } 2325 - #endif 2326 - 2327 2301 #ifndef HAVE_ARCH_PCI_SET_DMA_MAX_SEGMENT_SIZE 2328 2302 int pci_set_dma_max_seg_size(struct pci_dev *dev, unsigned int size) 2329 2303 { ··· 3039 3065 EXPORT_SYMBOL(pci_try_set_mwi); 3040 3066 EXPORT_SYMBOL(pci_clear_mwi); 3041 3067 EXPORT_SYMBOL_GPL(pci_intx); 3042 - EXPORT_SYMBOL(pci_set_dma_mask); 3043 - EXPORT_SYMBOL(pci_set_consistent_dma_mask); 3044 3068 EXPORT_SYMBOL(pci_assign_resource); 3045 3069 EXPORT_SYMBOL(pci_find_parent_resource); 3046 3070 EXPORT_SYMBOL(pci_select_bars);
+12 -3
include/asm-generic/pci-dma-compat.h
··· 6 6 7 7 #include <linux/dma-mapping.h> 8 8 9 - /* note pci_set_dma_mask isn't here, since it's a public function 10 - * exported from drivers/pci, use dma_supported instead */ 11 - 12 9 static inline int 13 10 pci_dma_supported(struct pci_dev *hwdev, u64 mask) 14 11 { ··· 100 103 { 101 104 return dma_mapping_error(&pdev->dev, dma_addr); 102 105 } 106 + 107 + #ifdef CONFIG_PCI 108 + static inline int pci_set_dma_mask(struct pci_dev *dev, u64 mask) 109 + { 110 + return dma_set_mask(&dev->dev, mask); 111 + } 112 + 113 + static inline int pci_set_consistent_dma_mask(struct pci_dev *dev, u64 mask) 114 + { 115 + return dma_set_coherent_mask(&dev->dev, mask); 116 + } 117 + #endif 103 118 104 119 #endif
-2
include/linux/pci.h
··· 769 769 void pci_clear_mwi(struct pci_dev *dev); 770 770 void pci_intx(struct pci_dev *dev, int enable); 771 771 void pci_msi_off(struct pci_dev *dev); 772 - int pci_set_dma_mask(struct pci_dev *dev, u64 mask); 773 - int pci_set_consistent_dma_mask(struct pci_dev *dev, u64 mask); 774 772 int pci_set_dma_max_seg_size(struct pci_dev *dev, unsigned int size); 775 773 int pci_set_dma_seg_boundary(struct pci_dev *dev, unsigned long mask); 776 774 int pcix_get_max_mmrbc(struct pci_dev *dev);