Merge tag 'dma-mapping-4.17' of git://git.infradead.org/users/hch/dma-mapping
Pull dma-mapping updates from Christoph Hellwig: "Very light this round as the interesting dma mapping changes went through the x86 tree. This just provides proper stubs for architectures not supporting dma (Geert Uytterhoeven)" * tag 'dma-mapping-4.17' of git://git.infradead.org/users/hch/dma-mapping: usb: gadget: Add NO_DMA dummies for DMA mapping API scsi: Add NO_DMA dummies for SCSI DMA mapping API mm: Add NO_DMA dummies for DMA pool API dma-coherent: Add NO_DMA dummies for managed DMA API dma-mapping: Convert NO_DMA get_dma_ops() into a real dummy
This commit is contained in:
@@ -212,14 +212,14 @@ static inline void set_dma_ops(struct device *dev,
|
||||
}
|
||||
#else
|
||||
/*
|
||||
* Define the dma api to allow compilation but not linking of
|
||||
* dma dependent code. Code that depends on the dma-mapping
|
||||
* API needs to set 'depends on HAS_DMA' in its Kconfig
|
||||
* Define the dma api to allow compilation of dma dependent code.
|
||||
* Code that depends on the dma-mapping API needs to set 'depends on HAS_DMA'
|
||||
* in its Kconfig, unless it already depends on <something> || COMPILE_TEST,
|
||||
* where <something> guarantuees the availability of the dma-mapping API.
|
||||
*/
|
||||
extern const struct dma_map_ops bad_dma_ops;
|
||||
static inline const struct dma_map_ops *get_dma_ops(struct device *dev)
|
||||
{
|
||||
return &bad_dma_ops;
|
||||
return NULL;
|
||||
}
|
||||
#endif
|
||||
|
||||
@@ -772,10 +772,19 @@ static inline void dma_deconfigure(struct device *dev) {}
|
||||
/*
|
||||
* Managed DMA API
|
||||
*/
|
||||
#ifdef CONFIG_HAS_DMA
|
||||
extern void *dmam_alloc_coherent(struct device *dev, size_t size,
|
||||
dma_addr_t *dma_handle, gfp_t gfp);
|
||||
extern void dmam_free_coherent(struct device *dev, size_t size, void *vaddr,
|
||||
dma_addr_t dma_handle);
|
||||
#else /* !CONFIG_HAS_DMA */
|
||||
static inline void *dmam_alloc_coherent(struct device *dev, size_t size,
|
||||
dma_addr_t *dma_handle, gfp_t gfp)
|
||||
{ return NULL; }
|
||||
static inline void dmam_free_coherent(struct device *dev, size_t size,
|
||||
void *vaddr, dma_addr_t dma_handle) { }
|
||||
#endif /* !CONFIG_HAS_DMA */
|
||||
|
||||
extern void *dmam_alloc_attrs(struct device *dev, size_t size,
|
||||
dma_addr_t *dma_handle, gfp_t gfp,
|
||||
unsigned long attrs);
|
||||
|
Reference in New Issue
Block a user