diff options
Diffstat (limited to 'arch/sparc/kernel')
-rw-r--r-- | arch/sparc/kernel/Makefile | 2 | ||||
-rw-r--r-- | arch/sparc/kernel/dma.c | 37 | ||||
-rw-r--r-- | arch/sparc/kernel/ioport.c | 27 |
3 files changed, 33 insertions, 33 deletions
diff --git a/arch/sparc/kernel/Makefile b/arch/sparc/kernel/Makefile index 475ce4696acd..29b88a580661 100644 --- a/arch/sparc/kernel/Makefile +++ b/arch/sparc/kernel/Makefile | |||
@@ -61,7 +61,7 @@ obj-$(CONFIG_SPARC64_SMP) += cpumap.o | |||
61 | obj-$(CONFIG_SPARC32) += devres.o | 61 | obj-$(CONFIG_SPARC32) += devres.o |
62 | devres-y := ../../../kernel/irq/devres.o | 62 | devres-y := ../../../kernel/irq/devres.o |
63 | 63 | ||
64 | obj-$(CONFIG_SPARC32) += dma.o | 64 | obj-y += dma.o |
65 | 65 | ||
66 | obj-$(CONFIG_SPARC32_PCI) += pcic.o | 66 | obj-$(CONFIG_SPARC32_PCI) += pcic.o |
67 | 67 | ||
diff --git a/arch/sparc/kernel/dma.c b/arch/sparc/kernel/dma.c index b2fa3127f605..e1ba8ee21b9a 100644 --- a/arch/sparc/kernel/dma.c +++ b/arch/sparc/kernel/dma.c | |||
@@ -1,40 +1,13 @@ | |||
1 | /* dma.c: PCI and SBUS DMA accessors for 32-bit sparc. | ||
2 | * | ||
3 | * Copyright (C) 2008 David S. Miller <davem@davemloft.net> | ||
4 | */ | ||
5 | |||
6 | #include <linux/kernel.h> | 1 | #include <linux/kernel.h> |
7 | #include <linux/module.h> | 2 | #include <linux/module.h> |
8 | #include <linux/dma-mapping.h> | 3 | #include <linux/dma-mapping.h> |
9 | #include <linux/scatterlist.h> | 4 | #include <linux/dma-debug.h> |
10 | #include <linux/mm.h> | ||
11 | 5 | ||
12 | #ifdef CONFIG_PCI | 6 | #define PREALLOC_DMA_DEBUG_ENTRIES (1 << 15) |
13 | #include <linux/pci.h> | ||
14 | #endif | ||
15 | 7 | ||
16 | /* | 8 | static int __init dma_init(void) |
17 | * Return whether the given PCI device DMA address mask can be | ||
18 | * supported properly. For example, if your device can only drive the | ||
19 | * low 24-bits during PCI bus mastering, then you would pass | ||
20 | * 0x00ffffff as the mask to this function. | ||
21 | */ | ||
22 | int dma_supported(struct device *dev, u64 mask) | ||
23 | { | 9 | { |
24 | #ifdef CONFIG_PCI | 10 | dma_debug_init(PREALLOC_DMA_DEBUG_ENTRIES); |
25 | if (dev->bus == &pci_bus_type) | ||
26 | return 1; | ||
27 | #endif | ||
28 | return 0; | 11 | return 0; |
29 | } | 12 | } |
30 | EXPORT_SYMBOL(dma_supported); | 13 | fs_initcall(dma_init); |
31 | |||
32 | int dma_set_mask(struct device *dev, u64 dma_mask) | ||
33 | { | ||
34 | #ifdef CONFIG_PCI | ||
35 | if (dev->bus == &pci_bus_type) | ||
36 | return pci_set_dma_mask(to_pci_dev(dev), dma_mask); | ||
37 | #endif | ||
38 | return -EOPNOTSUPP; | ||
39 | } | ||
40 | EXPORT_SYMBOL(dma_set_mask); | ||
diff --git a/arch/sparc/kernel/ioport.c b/arch/sparc/kernel/ioport.c index 1eb604389655..edbea232c617 100644 --- a/arch/sparc/kernel/ioport.c +++ b/arch/sparc/kernel/ioport.c | |||
@@ -654,6 +654,33 @@ EXPORT_SYMBOL(pci32_dma_ops); | |||
654 | 654 | ||
655 | #endif /* CONFIG_PCI */ | 655 | #endif /* CONFIG_PCI */ |
656 | 656 | ||
657 | /* | ||
658 | * Return whether the given PCI device DMA address mask can be | ||
659 | * supported properly. For example, if your device can only drive the | ||
660 | * low 24-bits during PCI bus mastering, then you would pass | ||
661 | * 0x00ffffff as the mask to this function. | ||
662 | */ | ||
663 | int dma_supported(struct device *dev, u64 mask) | ||
664 | { | ||
665 | #ifdef CONFIG_PCI | ||
666 | if (dev->bus == &pci_bus_type) | ||
667 | return 1; | ||
668 | #endif | ||
669 | return 0; | ||
670 | } | ||
671 | EXPORT_SYMBOL(dma_supported); | ||
672 | |||
673 | int dma_set_mask(struct device *dev, u64 dma_mask) | ||
674 | { | ||
675 | #ifdef CONFIG_PCI | ||
676 | if (dev->bus == &pci_bus_type) | ||
677 | return pci_set_dma_mask(to_pci_dev(dev), dma_mask); | ||
678 | #endif | ||
679 | return -EOPNOTSUPP; | ||
680 | } | ||
681 | EXPORT_SYMBOL(dma_set_mask); | ||
682 | |||
683 | |||
657 | #ifdef CONFIG_PROC_FS | 684 | #ifdef CONFIG_PROC_FS |
658 | 685 | ||
659 | static int | 686 | static int |