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",