diff options
author | FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp> | 2009-08-09 22:53:16 -0400 |
---|---|---|
committer | Ingo Molnar <mingo@elte.hu> | 2009-08-10 03:35:00 -0400 |
commit | ee664a9252d24ef10317d1bba8fc8f4c6495b36c (patch) | |
tree | 5a9d50253ff11584251439b2931e95042e9631c2 /arch/sparc/include/asm/dma-mapping.h | |
parent | c2c07dbd8742a26ab3f1ee8b82237a060a0d9f61 (diff) |
sparc: Use asm-generic/pci-dma-compat
This converts SPARC to use asm-generic/pci-dma-compat instead
of the homegrown mechnism.
SPARC32 has two dma_map_ops structures for pci and sbus
(removing arch/sparc/kernel/dma.c, PCI and SBUS DMA accessor).
The global 'dma_ops' is set to sbus_dma_ops and get_dma_ops()
returns pci32_dma_ops for pci devices so we can use the
appropriate dma mapping operations.
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
Tested-by: Robert Reif <reif@earthlink.net>
Acked-by: David S. Miller <davem@davemloft.net>
Cc: tony.luck@intel.com
Cc: fenghua.yu@intel.com
LKML-Reference: <1249872797-1314-8-git-send-email-fujita.tomonori@lab.ntt.co.jp>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
Diffstat (limited to 'arch/sparc/include/asm/dma-mapping.h')
-rw-r--r-- | arch/sparc/include/asm/dma-mapping.h | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/arch/sparc/include/asm/dma-mapping.h b/arch/sparc/include/asm/dma-mapping.h index 34c92264208a..2677818dc781 100644 --- a/arch/sparc/include/asm/dma-mapping.h +++ b/arch/sparc/include/asm/dma-mapping.h | |||
@@ -14,10 +14,15 @@ extern int dma_set_mask(struct device *dev, u64 dma_mask); | |||
14 | #define dma_free_noncoherent(d, s, v, h) dma_free_coherent(d, s, v, h) | 14 | #define dma_free_noncoherent(d, s, v, h) dma_free_coherent(d, s, v, h) |
15 | #define dma_is_consistent(d, h) (1) | 15 | #define dma_is_consistent(d, h) (1) |
16 | 16 | ||
17 | extern struct dma_map_ops *dma_ops; | 17 | extern struct dma_map_ops *dma_ops, pci32_dma_ops; |
18 | extern struct bus_type pci_bus_type; | ||
18 | 19 | ||
19 | static inline struct dma_map_ops *get_dma_ops(struct device *dev) | 20 | static inline struct dma_map_ops *get_dma_ops(struct device *dev) |
20 | { | 21 | { |
22 | #if defined(CONFIG_SPARC32) && defined(CONFIG_PCI) | ||
23 | if (dev->bus == &pci_bus_type) | ||
24 | return &pci32_dma_ops; | ||
25 | #endif | ||
21 | return dma_ops; | 26 | return dma_ops; |
22 | } | 27 | } |
23 | 28 | ||