diff options
Diffstat (limited to 'include/asm-generic/dma-mapping-common.h')
-rw-r--r-- | include/asm-generic/dma-mapping-common.h | 15 |
1 files changed, 15 insertions, 0 deletions
diff --git a/include/asm-generic/dma-mapping-common.h b/include/asm-generic/dma-mapping-common.h index 67fa6bcd644c..b1bc954eccf3 100644 --- a/include/asm-generic/dma-mapping-common.h +++ b/include/asm-generic/dma-mapping-common.h | |||
@@ -340,4 +340,19 @@ static inline int dma_supported(struct device *dev, u64 mask) | |||
340 | } | 340 | } |
341 | #endif | 341 | #endif |
342 | 342 | ||
343 | #ifndef HAVE_ARCH_DMA_SET_MASK | ||
344 | static inline int dma_set_mask(struct device *dev, u64 mask) | ||
345 | { | ||
346 | struct dma_map_ops *ops = get_dma_ops(dev); | ||
347 | |||
348 | if (ops->set_dma_mask) | ||
349 | return ops->set_dma_mask(dev, mask); | ||
350 | |||
351 | if (!dev->dma_mask || !dma_supported(dev, mask)) | ||
352 | return -EIO; | ||
353 | *dev->dma_mask = mask; | ||
354 | return 0; | ||
355 | } | ||
356 | #endif | ||
357 | |||
343 | #endif | 358 | #endif |