aboutsummaryrefslogtreecommitdiffstats
path: root/include/asm-x86
diff options
context:
space:
mode:
authorGlauber Costa <gcosta@redhat.com>2008-03-25 17:36:31 -0400
committerIngo Molnar <mingo@elte.hu>2008-04-19 13:19:56 -0400
commit8d396ded71a9b378fc3e846095e50565606f2df6 (patch)
tree62852546c33e7d33fed5e83962ae0af6947cc6ed /include/asm-x86
parente7f3a913f91b7bfef3a93dff27930f24bdfcd2c0 (diff)
x86: move alloc and free coherent to common header
they are the same between architectures. (except for the fact that x86_64 has duplicate code) move them to dma-mapping.h Signed-off-by: Glauber Costa <gcosta@redhat.com> Signed-off-by: Ingo Molnar <mingo@elte.hu> Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Diffstat (limited to 'include/asm-x86')
-rw-r--r--include/asm-x86/dma-mapping.h10
-rw-r--r--include/asm-x86/dma-mapping_32.h9
-rw-r--r--include/asm-x86/dma-mapping_64.h11
3 files changed, 10 insertions, 20 deletions
diff --git a/include/asm-x86/dma-mapping.h b/include/asm-x86/dma-mapping.h
index 53a404b0f9ee..3ea3802ff1aa 100644
--- a/include/asm-x86/dma-mapping.h
+++ b/include/asm-x86/dma-mapping.h
@@ -52,6 +52,16 @@ struct dma_mapping_ops {
52 52
53extern const struct dma_mapping_ops *dma_ops; 53extern const struct dma_mapping_ops *dma_ops;
54 54
55#define dma_alloc_noncoherent(d, s, h, f) dma_alloc_coherent(d, s, h, f)
56#define dma_free_noncoherent(d, s, v, h) dma_free_coherent(d, s, v, h)
57
58void *dma_alloc_coherent(struct device *dev, size_t size,
59 dma_addr_t *dma_handle, gfp_t flag);
60
61void dma_free_coherent(struct device *dev, size_t size,
62 void *vaddr, dma_addr_t dma_handle);
63
64
55#ifdef CONFIG_X86_32 65#ifdef CONFIG_X86_32
56# include "dma-mapping_32.h" 66# include "dma-mapping_32.h"
57#else 67#else
diff --git a/include/asm-x86/dma-mapping_32.h b/include/asm-x86/dma-mapping_32.h
index eff42f495107..d8f6420d3ef1 100644
--- a/include/asm-x86/dma-mapping_32.h
+++ b/include/asm-x86/dma-mapping_32.h
@@ -8,15 +8,6 @@
8#include <asm/io.h> 8#include <asm/io.h>
9#include <asm/bug.h> 9#include <asm/bug.h>
10 10
11#define dma_alloc_noncoherent(d, s, h, f) dma_alloc_coherent(d, s, h, f)
12#define dma_free_noncoherent(d, s, v, h) dma_free_coherent(d, s, v, h)
13
14void *dma_alloc_coherent(struct device *dev, size_t size,
15 dma_addr_t *dma_handle, gfp_t flag);
16
17void dma_free_coherent(struct device *dev, size_t size,
18 void *vaddr, dma_addr_t dma_handle);
19
20static inline dma_addr_t 11static inline dma_addr_t
21dma_map_page(struct device *dev, struct page *page, unsigned long offset, 12dma_map_page(struct device *dev, struct page *page, unsigned long offset,
22 size_t size, enum dma_data_direction direction) 13 size_t size, enum dma_data_direction direction)
diff --git a/include/asm-x86/dma-mapping_64.h b/include/asm-x86/dma-mapping_64.h
index 707dbbe86a26..ce881d992228 100644
--- a/include/asm-x86/dma-mapping_64.h
+++ b/include/asm-x86/dma-mapping_64.h
@@ -12,17 +12,6 @@ static inline int dma_mapping_error(dma_addr_t dma_addr)
12 return (dma_addr == bad_dma_address); 12 return (dma_addr == bad_dma_address);
13} 13}
14 14
15#define dma_alloc_noncoherent(d, s, h, f) dma_alloc_coherent(d, s, h, f)
16#define dma_free_noncoherent(d, s, v, h) dma_free_coherent(d, s, v, h)
17
18#define dma_alloc_noncoherent(d, s, h, f) dma_alloc_coherent(d, s, h, f)
19#define dma_free_noncoherent(d, s, v, h) dma_free_coherent(d, s, v, h)
20
21extern void *dma_alloc_coherent(struct device *dev, size_t size,
22 dma_addr_t *dma_handle, gfp_t gfp);
23extern void dma_free_coherent(struct device *dev, size_t size, void *vaddr,
24 dma_addr_t dma_handle);
25
26#define dma_map_page(dev,page,offset,size,dir) \ 15#define dma_map_page(dev,page,offset,size,dir) \
27 dma_map_single((dev), page_address(page)+(offset), (size), (dir)) 16 dma_map_single((dev), page_address(page)+(offset), (size), (dir))
28 17