Commit f29ab49b authored by Geert Uytterhoeven's avatar Geert Uytterhoeven Committed by Christoph Hellwig

dma-mapping: Convert NO_DMA get_dma_ops() into a real dummy

If NO_DMA=y, get_dma_ops() returns a reference to the
non-existing symbol bad_dma_ops, thus causing a link failure if it is
ever used.

Make get_dma_ops() return NULL instead, to avoid the link failure.
This allows to improve compile-testing, and limits the need to keep on
sprinkling dependencies on HAS_DMA all over the place.
Signed-off-by: default avatarGeert Uytterhoeven <geert@linux-m68k.org>
Reviewed-by: default avatarMark Brown <broonie@kernel.org>
Acked-by: default avatarRobin Murphy <robin.murphy@arm.com>
Signed-off-by: default avatarChristoph Hellwig <hch@lst.de>
parent 0c8efd61
...@@ -212,14 +212,14 @@ static inline void set_dma_ops(struct device *dev, ...@@ -212,14 +212,14 @@ static inline void set_dma_ops(struct device *dev,
} }
#else #else
/* /*
* Define the dma api to allow compilation but not linking of * Define the dma api to allow compilation of dma dependent code.
* dma dependent code. Code that depends on the dma-mapping * Code that depends on the dma-mapping API needs to set 'depends on HAS_DMA'
* API needs to set 'depends on HAS_DMA' in its Kconfig * 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) static inline const struct dma_map_ops *get_dma_ops(struct device *dev)
{ {
return &bad_dma_ops; return NULL;
} }
#endif #endif
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment