diff options
| author | James Bottomley <james.bottomley@steeleye.com> | 2002-12-27 08:08:34 -0800 |
|---|---|---|
| committer | Linus Torvalds <torvalds@home.transmeta.com> | 2002-12-27 08:08:34 -0800 |
| commit | 30c9bd1ac7188c812f3d6711a412ce0bea9a2e78 (patch) | |
| tree | a1c79183a4ea7cfc0d7681cd0b10f7c6db2358a0 /include | |
| parent | 960044c6db27e63e74673946035c56f2b6d4cbee (diff) | |
[PATCH] Fix pci-dma compatibility code for "dev == NULL"
The compat API doesn't cope correctly if struct pci_dev is NULL, as it
can be for the x86 fake pci_dev handling.
Diffstat (limited to 'include')
| -rw-r--r-- | include/asm-generic/pci-dma-compat.h | 22 |
1 files changed, 11 insertions, 11 deletions
diff --git a/include/asm-generic/pci-dma-compat.h b/include/asm-generic/pci-dma-compat.h index b871ec69a79a..ef858eecbffd 100644 --- a/include/asm-generic/pci-dma-compat.h +++ b/include/asm-generic/pci-dma-compat.h @@ -12,76 +12,76 @@ static inline int pci_dma_supported(struct pci_dev *hwdev, u64 mask) { - return dma_supported(&hwdev->dev, mask); + return dma_supported(hwdev == NULL ? NULL : &hwdev->dev, mask); } static inline void * pci_alloc_consistent(struct pci_dev *hwdev, size_t size, dma_addr_t *dma_handle) { - return dma_alloc_coherent(&hwdev->dev, size, dma_handle); + return dma_alloc_coherent(hwdev == NULL ? NULL : &hwdev->dev, size, dma_handle); } static inline void pci_free_consistent(struct pci_dev *hwdev, size_t size, void *vaddr, dma_addr_t dma_handle) { - dma_free_coherent(&hwdev->dev, size, vaddr, dma_handle); + dma_free_coherent(hwdev == NULL ? NULL : &hwdev->dev, size, vaddr, dma_handle); } static inline dma_addr_t pci_map_single(struct pci_dev *hwdev, void *ptr, size_t size, int direction) { - return dma_map_single(&hwdev->dev, ptr, size, (enum dma_data_direction)direction); + return dma_map_single(hwdev == NULL ? NULL : &hwdev->dev, ptr, size, (enum dma_data_direction)direction); } static inline void pci_unmap_single(struct pci_dev *hwdev, dma_addr_t dma_addr, size_t size, int direction) { - dma_unmap_single(&hwdev->dev, dma_addr, size, (enum dma_data_direction)direction); + dma_unmap_single(hwdev == NULL ? NULL : &hwdev->dev, dma_addr, size, (enum dma_data_direction)direction); } static inline dma_addr_t pci_map_page(struct pci_dev *hwdev, struct page *page, unsigned long offset, size_t size, int direction) { - return dma_map_page(&hwdev->dev, page, offset, size, (enum dma_data_direction)direction); + return dma_map_page(hwdev == NULL ? NULL : &hwdev->dev, page, offset, size, (enum dma_data_direction)direction); } static inline void pci_unmap_page(struct pci_dev *hwdev, dma_addr_t dma_address, size_t size, int direction) { - dma_unmap_page(&hwdev->dev, dma_address, size, (enum dma_data_direction)direction); + dma_unmap_page(hwdev == NULL ? NULL : &hwdev->dev, dma_address, size, (enum dma_data_direction)direction); } static inline int pci_map_sg(struct pci_dev *hwdev, struct scatterlist *sg, int nents, int direction) { - return dma_map_sg(&hwdev->dev, sg, nents, (enum dma_data_direction)direction); + return dma_map_sg(hwdev == NULL ? NULL : &hwdev->dev, sg, nents, (enum dma_data_direction)direction); } static inline void pci_unmap_sg(struct pci_dev *hwdev, struct scatterlist *sg, int nents, int direction) { - dma_unmap_sg(&hwdev->dev, sg, nents, (enum dma_data_direction)direction); + dma_unmap_sg(hwdev == NULL ? NULL : &hwdev->dev, sg, nents, (enum dma_data_direction)direction); } static inline void pci_dma_sync_single(struct pci_dev *hwdev, dma_addr_t dma_handle, size_t size, int direction) { - dma_sync_single(&hwdev->dev, dma_handle, size, (enum dma_data_direction)direction); + dma_sync_single(hwdev == NULL ? NULL : &hwdev->dev, dma_handle, size, (enum dma_data_direction)direction); } static inline void pci_dma_sync_sg(struct pci_dev *hwdev, struct scatterlist *sg, int nelems, int direction) { - dma_sync_sg(&hwdev->dev, sg, nelems, (enum dma_data_direction)direction); + dma_sync_sg(hwdev == NULL ? NULL : &hwdev->dev, sg, nelems, (enum dma_data_direction)direction); } #endif |
