remove duplicate bus_dma_tags, and convert to using the existing
    mainbus_dma_tag, now exported via arm/mainbus/mainbus.h, to allow
    the death of arm/armv7/armv7var.h, eventually, i hope.

diff --git a/sys/arch/arm/cortex/cortex.c b/sys/arch/arm/cortex/cortex.c
index d2d6aa508b6..ec61887783a 100644
--- a/sys/arch/arm/cortex/cortex.c
+++ b/sys/arch/arm/cortex/cortex.c
@@ -46,32 +46,14 @@
 #include <sys/systm.h>
 #include <sys/kernel.h>
 #include <sys/device.h>
-#define _ARM32_BUS_DMA_PRIVATE
+
 #include <machine/bus.h>
+
 #include <arm/cpufunc.h>
 #include <arm/armv7/armv7var.h>
 #include <arm/cortex/cortex.h>
 #include <arm/mainbus/mainbus.h>
 
-struct arm32_bus_dma_tag cortex_bus_dma_tag = {
-       0,
-       0,
-       NULL,
-       _bus_dmamap_create,
-       _bus_dmamap_destroy,
-       _bus_dmamap_load,
-       _bus_dmamap_load_mbuf,
-       _bus_dmamap_load_uio,
-       _bus_dmamap_load_raw,
-       _bus_dmamap_unload,
-       _bus_dmamap_sync,
-       _bus_dmamem_alloc,
-       _bus_dmamem_free,
-       _bus_dmamem_map,
-       _bus_dmamem_unmap,
-       _bus_dmamem_mmap,
-};
-
 /* Prototypes for functions provided */
 
 int  cortexmatch(struct device *, void *, void *);
@@ -137,7 +119,7 @@ cortexsearch(struct device *parent, void *vcf, void *aux)
 
        ca.ca_name = cf->cf_driver->cd_name;
        ca.ca_iot = &armv7_bs_tag;
-       ca.ca_dmat = &cortex_bus_dma_tag;
+       ca.ca_dmat = &mainbus_dma_tag;
        ca.ca_periphbase = armv7_periphbase();
 
        /* allow for devices to be disabled in UKC */
diff --git a/sys/arch/arm/mainbus/mainbus.h b/sys/arch/arm/mainbus/mainbus.h
index 059ca2550e8..7783791ce76 100644
--- a/sys/arch/arm/mainbus/mainbus.h
+++ b/sys/arch/arm/mainbus/mainbus.h
@@ -28,4 +28,6 @@ union mainbus_attach_args {
 
 void mainbus_legacy_found(struct device *, char *);
 
+extern struct arm32_bus_dma_tag mainbus_dma_tag;
+
 #endif /* __MAINBUS_H__ */
diff --git a/sys/arch/armv7/armv7/armv7.c b/sys/arch/armv7/armv7/armv7.c
index c57fb56738a..60fd243caf9 100644
--- a/sys/arch/armv7/armv7/armv7.c
+++ b/sys/arch/armv7/armv7/armv7.c
@@ -21,31 +21,13 @@
 #include <sys/types.h>
 #include <sys/malloc.h>
 
-#define _ARM32_BUS_DMA_PRIVATE
 #include <machine/bus.h>
+
 #include <arm/armv7/armv7var.h>
+#include <arm/mainbus/mainbus.h>
 #include <armv7/armv7/armv7var.h>
 #include <armv7/armv7/armv7_machdep.h>
 
-struct arm32_bus_dma_tag armv7_bus_dma_tag = {
-       0,
-       0,
-       NULL,
-       _bus_dmamap_create,
-       _bus_dmamap_destroy,
-       _bus_dmamap_load,
-       _bus_dmamap_load_mbuf,
-       _bus_dmamap_load_uio,
-       _bus_dmamap_load_raw,
-       _bus_dmamap_unload,
-       _bus_dmamap_sync,
-       _bus_dmamem_alloc,
-       _bus_dmamem_free,
-       _bus_dmamem_map,
-       _bus_dmamem_unmap,
-       _bus_dmamem_mmap,
-};
-
 struct armv7_dev *armv7_devs = NULL;
 
 #define DEVNAME(sc)    (sc)->sc_dv.dv_xname
@@ -116,7 +98,7 @@ armv7_attach(struct device *parent, struct device *self, 
void *aux)
                memset(&aa, 0, sizeof(aa));
                aa.aa_dev = ad;
                aa.aa_iot = &armv7_bs_tag;
-               aa.aa_dmat = &armv7_bus_dma_tag;
+               aa.aa_dmat = &mainbus_dma_tag;
 
                if (config_found_sm(self, &aa, NULL, armv7_submatch) == NULL)
                        printf("%s: device %s unit %d not configured\n",

Reply via email to