aboutsummaryrefslogtreecommitdiffstats
path: root/include
diff options
context:
space:
mode:
authorLinus Torvalds <torvalds@linux-foundation.org>2015-04-16 18:50:27 -0400
committerLinus Torvalds <torvalds@linux-foundation.org>2015-04-16 18:50:27 -0400
commiteabbfdecdae4413687a36fd17c3e98de59ba492b (patch)
treed8d947b4d0a3a5722221d27b0150571bb1e68aa1 /include
parent45701e2636a02ab1c5305ead5236f05bda64c15f (diff)
parent04abab698285297115e5096b3100df1064045529 (diff)
Merge branch 'for-v4.1-rc1' of git://git.linaro.org/people/mszyprowski/linux-dma-mapping
Pull DMA-mapping updates from Marek Szyprowski: "This contains two patches, which clarify abiguity in the dma-mapping api" * 'for-v4.1-rc1' of git://git.linaro.org/people/mszyprowski/linux-dma-mapping: include/dma-mapping: Clarify output of dma_map_sg asm/dma-mapping-common: Clarify output of dma_map_sg_attrs
Diffstat (limited to 'include')
-rw-r--r--include/asm-generic/dma-mapping-common.h5
-rw-r--r--include/linux/dma-mapping.h4
2 files changed, 9 insertions, 0 deletions
diff --git a/include/asm-generic/dma-mapping-common.h b/include/asm-generic/dma-mapping-common.h
index 3378dcf4c31e..940d5ec122c9 100644
--- a/include/asm-generic/dma-mapping-common.h
+++ b/include/asm-generic/dma-mapping-common.h
@@ -39,6 +39,10 @@ static inline void dma_unmap_single_attrs(struct device *dev, dma_addr_t addr,
39 debug_dma_unmap_page(dev, addr, size, dir, true); 39 debug_dma_unmap_page(dev, addr, size, dir, true);
40} 40}
41 41
42/*
43 * dma_maps_sg_attrs returns 0 on error and > 0 on success.
44 * It should never return a value < 0.
45 */
42static inline int dma_map_sg_attrs(struct device *dev, struct scatterlist *sg, 46static inline int dma_map_sg_attrs(struct device *dev, struct scatterlist *sg,
43 int nents, enum dma_data_direction dir, 47 int nents, enum dma_data_direction dir,
44 struct dma_attrs *attrs) 48 struct dma_attrs *attrs)
@@ -51,6 +55,7 @@ static inline int dma_map_sg_attrs(struct device *dev, struct scatterlist *sg,
51 kmemcheck_mark_initialized(sg_virt(s), s->length); 55 kmemcheck_mark_initialized(sg_virt(s), s->length);
52 BUG_ON(!valid_dma_direction(dir)); 56 BUG_ON(!valid_dma_direction(dir));
53 ents = ops->map_sg(dev, sg, nents, dir, attrs); 57 ents = ops->map_sg(dev, sg, nents, dir, attrs);
58 BUG_ON(ents < 0);
54 debug_dma_map_sg(dev, sg, nents, ents, dir); 59 debug_dma_map_sg(dev, sg, nents, ents, dir);
55 60
56 return ents; 61 return ents;
diff --git a/include/linux/dma-mapping.h b/include/linux/dma-mapping.h
index c3007cb4bfa6..ac07ff090919 100644
--- a/include/linux/dma-mapping.h
+++ b/include/linux/dma-mapping.h
@@ -34,6 +34,10 @@ struct dma_map_ops {
34 void (*unmap_page)(struct device *dev, dma_addr_t dma_handle, 34 void (*unmap_page)(struct device *dev, dma_addr_t dma_handle,
35 size_t size, enum dma_data_direction dir, 35 size_t size, enum dma_data_direction dir,
36 struct dma_attrs *attrs); 36 struct dma_attrs *attrs);
37 /*
38 * map_sg returns 0 on error and a value > 0 on success.
39 * It should never return a value < 0.
40 */
37 int (*map_sg)(struct device *dev, struct scatterlist *sg, 41 int (*map_sg)(struct device *dev, struct scatterlist *sg,
38 int nents, enum dma_data_direction dir, 42 int nents, enum dma_data_direction dir,
39 struct dma_attrs *attrs); 43 struct dma_attrs *attrs);