Gitweb:     
http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=049aa166b112beab77b9a2f8d9caa03b74843eab
Commit:     049aa166b112beab77b9a2f8d9caa03b74843eab
Parent:     749c84966c990092da20203a80e0749b614c79a6
Author:     Paul Mundt <[EMAIL PROTECTED]>
AuthorDate: Mon Oct 1 17:43:11 2007 +0900
Committer:  Paul Mundt <[EMAIL PROTECTED]>
CommitDate: Mon Oct 1 17:43:11 2007 +0900

    sh64: Move consistent DMA routines to arch/sh64/mm/.
    
    The consistent DMA stuff was evolved from the old PCI DMA mapping
    functions. As this has been overhauled, it's something that is
    used by the generic DMA mapping code, and thus, has no intrinsic
    PCI dependence.
    
    Move the routines somewhere more sensible (same place as sh), and
    fix up the build for CONFIG_PCI=n in the process.
    
    Signed-off-by: Paul Mundt <[EMAIL PROTECTED]>
---
 arch/sh64/kernel/Makefile  |    2 +-
 arch/sh64/kernel/pci-dma.c |   52 --------------------------------------------
 arch/sh64/mm/Makefile      |    4 +-
 arch/sh64/mm/consistent.c  |   52 ++++++++++++++++++++++++++++++++++++++++++++
 4 files changed, 55 insertions(+), 55 deletions(-)

diff --git a/arch/sh64/kernel/Makefile b/arch/sh64/kernel/Makefile
index 5816657..e3467bd 100644
--- a/arch/sh64/kernel/Makefile
+++ b/arch/sh64/kernel/Makefile
@@ -25,7 +25,7 @@ obj-$(CONFIG_SH_DMA)          += dma.o
 obj-$(CONFIG_SH_FPU)           += fpu.o
 obj-$(CONFIG_EARLY_PRINTK)     += early_printk.o
 obj-$(CONFIG_KALLSYMS)         += unwind.o
-obj-$(CONFIG_PCI)              += pci-dma.o pcibios.o
+obj-$(CONFIG_PCI)              += pcibios.o
 obj-$(CONFIG_MODULES)          += module.o
 
 ifeq ($(CONFIG_PCI),y)
diff --git a/arch/sh64/kernel/pci-dma.c b/arch/sh64/kernel/pci-dma.c
deleted file mode 100644
index 8875a2a..0000000
--- a/arch/sh64/kernel/pci-dma.c
+++ /dev/null
@@ -1,52 +0,0 @@
-/*
- * Copyright (C) 2001 David J. Mckay ([EMAIL PROTECTED])
- * Copyright (C) 2003 Paul Mundt ([EMAIL PROTECTED])
- *
- * May be copied or modified under the terms of the GNU General Public
- * License.  See linux/COPYING for more information.
- *
- * Dynamic DMA mapping support.
- */
-#include <linux/types.h>
-#include <linux/mm.h>
-#include <linux/string.h>
-#include <linux/pci.h>
-#include <linux/module.h>
-#include <asm/io.h>
-
-void *consistent_alloc(struct pci_dev *hwdev, size_t size,
-                          dma_addr_t *dma_handle)
-{
-       void *ret;
-       int gfp = GFP_ATOMIC;
-        void *vp;
-
-       if (hwdev == NULL || hwdev->dma_mask != 0xffffffff)
-               gfp |= GFP_DMA;
-
-       ret = (void *)__get_free_pages(gfp, get_order(size));
-
-       /* now call our friend ioremap_nocache to give us an uncached area */
-        vp = ioremap_nocache(virt_to_phys(ret), size);
-
-       if (vp != NULL) {
-               memset(vp, 0, size);
-               *dma_handle = virt_to_phys(ret);
-               dma_cache_wback_inv((unsigned long)ret, size);
-       }
-
-       return vp;
-}
-EXPORT_SYMBOL(consistent_alloc);
-
-void consistent_free(struct pci_dev *hwdev, size_t size,
-                        void *vaddr, dma_addr_t dma_handle)
-{
-       void *alloc;
-
-       alloc = phys_to_virt((unsigned long)dma_handle);
-       free_pages((unsigned long)alloc, get_order(size));
-
-       iounmap(vaddr);
-}
-EXPORT_SYMBOL(consistent_free);
diff --git a/arch/sh64/mm/Makefile b/arch/sh64/mm/Makefile
index ff19378..d0e8136 100644
--- a/arch/sh64/mm/Makefile
+++ b/arch/sh64/mm/Makefile
@@ -13,7 +13,8 @@
 # unless it's something special (ie not a .c file).
 #
 
-obj-y := init.o fault.o ioremap.o extable.o cache.o tlbmiss.o tlb.o
+obj-y := cache.o consistent.o extable.o fault.o init.o ioremap.o \
+        tlbmiss.o tlb.o
 
 obj-$(CONFIG_HUGETLB_PAGE)     += hugetlbpage.o
 
@@ -41,4 +42,3 @@ CFLAGS_tlbmiss.o += -ffixed-r7 \
        -ffixed-r41 -ffixed-r42 -ffixed-r43  \
        -ffixed-r60 -ffixed-r61 -ffixed-r62 \
        -fomit-frame-pointer
-
diff --git a/arch/sh64/mm/consistent.c b/arch/sh64/mm/consistent.c
new file mode 100644
index 0000000..8875a2a
--- /dev/null
+++ b/arch/sh64/mm/consistent.c
@@ -0,0 +1,52 @@
+/*
+ * Copyright (C) 2001 David J. Mckay ([EMAIL PROTECTED])
+ * Copyright (C) 2003 Paul Mundt ([EMAIL PROTECTED])
+ *
+ * May be copied or modified under the terms of the GNU General Public
+ * License.  See linux/COPYING for more information.
+ *
+ * Dynamic DMA mapping support.
+ */
+#include <linux/types.h>
+#include <linux/mm.h>
+#include <linux/string.h>
+#include <linux/pci.h>
+#include <linux/module.h>
+#include <asm/io.h>
+
+void *consistent_alloc(struct pci_dev *hwdev, size_t size,
+                          dma_addr_t *dma_handle)
+{
+       void *ret;
+       int gfp = GFP_ATOMIC;
+        void *vp;
+
+       if (hwdev == NULL || hwdev->dma_mask != 0xffffffff)
+               gfp |= GFP_DMA;
+
+       ret = (void *)__get_free_pages(gfp, get_order(size));
+
+       /* now call our friend ioremap_nocache to give us an uncached area */
+        vp = ioremap_nocache(virt_to_phys(ret), size);
+
+       if (vp != NULL) {
+               memset(vp, 0, size);
+               *dma_handle = virt_to_phys(ret);
+               dma_cache_wback_inv((unsigned long)ret, size);
+       }
+
+       return vp;
+}
+EXPORT_SYMBOL(consistent_alloc);
+
+void consistent_free(struct pci_dev *hwdev, size_t size,
+                        void *vaddr, dma_addr_t dma_handle)
+{
+       void *alloc;
+
+       alloc = phys_to_virt((unsigned long)dma_handle);
+       free_pages((unsigned long)alloc, get_order(size));
+
+       iounmap(vaddr);
+}
+EXPORT_SYMBOL(consistent_free);
-
To unsubscribe from this list: send the line "unsubscribe git-commits-head" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to