aboutsummaryrefslogtreecommitdiffstats
path: root/arch/ia64/include/asm/machvec.h
diff options
context:
space:
mode:
authorFUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>2009-01-05 09:36:16 -0500
committerIngo Molnar <mingo@elte.hu>2009-01-06 08:06:51 -0500
commitc190ab0b2a5fb5cc97576c5f04f4419b6cf8dc8e (patch)
tree8bc75bb8a30211dbbcc4a3a30a1be2b831392a96 /arch/ia64/include/asm/machvec.h
parentcdc28d59a31e3fd711982bd07600f3e5b449b9f7 (diff)
add dma_get_ops to struct ia64_machine_vector
This adds dma_get_ops hook to struct ia64_machine_vector. We use dma_get_ops() in arch/ia64/kernel/dma-mapping.c, which simply returns the global dma_ops. This is for removing hwsw_dma_ops. Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp> Acked-by: Tony Luck <tony.luck@intel.com> Signed-off-by: Ingo Molnar <mingo@elte.hu>
Diffstat (limited to 'arch/ia64/include/asm/machvec.h')
-rw-r--r--arch/ia64/include/asm/machvec.h8
1 files changed, 8 insertions, 0 deletions
diff --git a/arch/ia64/include/asm/machvec.h b/arch/ia64/include/asm/machvec.h
index 6be3010d746a..95e1708fa4e3 100644
--- a/arch/ia64/include/asm/machvec.h
+++ b/arch/ia64/include/asm/machvec.h
@@ -45,6 +45,7 @@ typedef void ia64_mv_kernel_launch_event_t(void);
45 45
46/* DMA-mapping interface: */ 46/* DMA-mapping interface: */
47typedef void ia64_mv_dma_init (void); 47typedef void ia64_mv_dma_init (void);
48typedef struct dma_mapping_ops *ia64_mv_dma_get_ops(struct device *);
48 49
49/* 50/*
50 * WARNING: The legacy I/O space is _architected_. Platforms are 51 * WARNING: The legacy I/O space is _architected_. Platforms are
@@ -130,6 +131,7 @@ extern void machvec_tlb_migrate_finish (struct mm_struct *);
130# define platform_global_tlb_purge ia64_mv.global_tlb_purge 131# define platform_global_tlb_purge ia64_mv.global_tlb_purge
131# define platform_tlb_migrate_finish ia64_mv.tlb_migrate_finish 132# define platform_tlb_migrate_finish ia64_mv.tlb_migrate_finish
132# define platform_dma_init ia64_mv.dma_init 133# define platform_dma_init ia64_mv.dma_init
134# define platform_dma_get_ops ia64_mv.dma_get_ops
133# define platform_irq_to_vector ia64_mv.irq_to_vector 135# define platform_irq_to_vector ia64_mv.irq_to_vector
134# define platform_local_vector_to_irq ia64_mv.local_vector_to_irq 136# define platform_local_vector_to_irq ia64_mv.local_vector_to_irq
135# define platform_pci_get_legacy_mem ia64_mv.pci_get_legacy_mem 137# define platform_pci_get_legacy_mem ia64_mv.pci_get_legacy_mem
@@ -172,6 +174,7 @@ struct ia64_machine_vector {
172 ia64_mv_global_tlb_purge_t *global_tlb_purge; 174 ia64_mv_global_tlb_purge_t *global_tlb_purge;
173 ia64_mv_tlb_migrate_finish_t *tlb_migrate_finish; 175 ia64_mv_tlb_migrate_finish_t *tlb_migrate_finish;
174 ia64_mv_dma_init *dma_init; 176 ia64_mv_dma_init *dma_init;
177 ia64_mv_dma_get_ops *dma_get_ops;
175 ia64_mv_irq_to_vector *irq_to_vector; 178 ia64_mv_irq_to_vector *irq_to_vector;
176 ia64_mv_local_vector_to_irq *local_vector_to_irq; 179 ia64_mv_local_vector_to_irq *local_vector_to_irq;
177 ia64_mv_pci_get_legacy_mem_t *pci_get_legacy_mem; 180 ia64_mv_pci_get_legacy_mem_t *pci_get_legacy_mem;
@@ -210,6 +213,7 @@ struct ia64_machine_vector {
210 platform_global_tlb_purge, \ 213 platform_global_tlb_purge, \
211 platform_tlb_migrate_finish, \ 214 platform_tlb_migrate_finish, \
212 platform_dma_init, \ 215 platform_dma_init, \
216 platform_dma_get_ops, \
213 platform_irq_to_vector, \ 217 platform_irq_to_vector, \
214 platform_local_vector_to_irq, \ 218 platform_local_vector_to_irq, \
215 platform_pci_get_legacy_mem, \ 219 platform_pci_get_legacy_mem, \
@@ -246,6 +250,7 @@ extern void machvec_init_from_cmdline(const char *cmdline);
246# endif /* CONFIG_IA64_GENERIC */ 250# endif /* CONFIG_IA64_GENERIC */
247 251
248extern void swiotlb_dma_init(void); 252extern void swiotlb_dma_init(void);
253extern struct dma_mapping_ops *dma_get_ops(struct device *);
249 254
250/* 255/*
251 * Define default versions so we can extend machvec for new platforms without having 256 * Define default versions so we can extend machvec for new platforms without having
@@ -279,6 +284,9 @@ extern void swiotlb_dma_init(void);
279#ifndef platform_dma_init 284#ifndef platform_dma_init
280# define platform_dma_init swiotlb_dma_init 285# define platform_dma_init swiotlb_dma_init
281#endif 286#endif
287#ifndef platform_dma_get_ops
288# define platform_dma_get_ops dma_get_ops
289#endif
282#ifndef platform_irq_to_vector 290#ifndef platform_irq_to_vector
283# define platform_irq_to_vector __ia64_irq_to_vector 291# define platform_irq_to_vector __ia64_irq_to_vector
284#endif 292#endif