summaryrefslogtreecommitdiffstats
path: root/sys/arm/cavium
diff options
context:
space:
mode:
authorian <ian@FreeBSD.org>2015-01-21 04:22:20 +0000
committerian <ian@FreeBSD.org>2015-01-21 04:22:20 +0000
commite35efd21995fef6eed2e2c4d67e28a47bdba8727 (patch)
treef41035241dc0b6260002a43589f1d8d6ec0ff6db /sys/arm/cavium
parent9729d18bdd383975c6f3ea983abef05703f916c3 (diff)
downloadFreeBSD-src-e35efd21995fef6eed2e2c4d67e28a47bdba8727.zip
FreeBSD-src-e35efd21995fef6eed2e2c4d67e28a47bdba8727.tar.gz
Use the base arm bus_space instead of an identical local copy.
Diffstat (limited to 'sys/arm/cavium')
-rw-r--r--sys/arm/cavium/cns11xx/econa.c117
-rw-r--r--sys/arm/cavium/cns11xx/files.econa1
2 files changed, 6 insertions, 112 deletions
diff --git a/sys/arm/cavium/cns11xx/econa.c b/sys/arm/cavium/cns11xx/econa.c
index e79e6e8..b9446f0 100644
--- a/sys/arm/cavium/cns11xx/econa.c
+++ b/sys/arm/cavium/cns11xx/econa.c
@@ -56,116 +56,7 @@ unsigned int CPU_clock = 200000000;
unsigned int AHB_clock;
unsigned int APB_clock;
-bs_protos(generic);
-
-struct bus_space econa_bs_tag = {
- /* cookie */
- (void *) 0,
-
- /* mapping/unmapping */
- generic_bs_map,
- generic_bs_unmap,
- generic_bs_subregion,
-
- /* allocation/deallocation */
- generic_bs_alloc,
- generic_bs_free,
-
- /* barrier */
- generic_bs_barrier,
-
- /* read (single) */
- generic_bs_r_1,
- generic_bs_r_2,
- generic_bs_r_4,
- NULL,
-
- /* read multiple */
- generic_bs_rm_1,
- generic_bs_rm_2,
- generic_bs_rm_4,
- NULL,
-
- /* read region */
- generic_bs_rr_1,
- generic_bs_rr_2,
- generic_bs_rr_4,
- NULL,
-
- /* write (single) */
- generic_bs_w_1,
- generic_bs_w_2,
- generic_bs_w_4,
- NULL,
-
- /* write multiple */
- generic_bs_wm_1,
- generic_bs_wm_2,
- generic_bs_wm_4,
- NULL,
-
- /* write region */
- NULL,
- NULL,
- NULL,
- NULL,
-
- /* set multiple */
- NULL,
- NULL,
- NULL,
- NULL,
-
- /* set region */
- NULL,
- NULL,
- NULL,
- NULL,
-
- /* copy */
- NULL,
- NULL,
- NULL,
- NULL,
-
- /* read (single) stream */
- NULL,
- NULL,
- NULL,
- NULL,
-
- /* read multiple stream */
- NULL,
- generic_bs_rm_2,
- NULL,
- NULL,
-
- /* read region stream */
- NULL,
- NULL,
- NULL,
- NULL,
-
- /* write (single) stream */
- NULL,
- NULL,
- NULL,
- NULL,
-
- /* write multiple stream */
- NULL,
- generic_bs_wm_2,
- NULL,
- NULL,
-
- /* write region stream */
- NULL,
- NULL,
- NULL,
- NULL
-};
-
-bus_space_tag_t obio_tag = &econa_bs_tag;
+bus_space_tag_t obio_tag;
static int
econa_probe(device_t dev)
@@ -464,8 +355,10 @@ econa_attach(device_t dev)
struct econa_softc *sc = device_get_softc(dev);
int i;
+ obio_tag = arm_base_bs_tag;
+
econa_softc = sc;
- sc->ec_st = &econa_bs_tag;
+ sc->ec_st = arm_base_bs_tag;
sc->ec_sh = ECONA_IO_BASE;
sc->dev = dev;
if (bus_space_subregion(sc->ec_st, sc->ec_sh, ECONA_PIC_BASE,
@@ -547,7 +440,7 @@ econa_alloc_resource(device_t dev, device_t child, int type, int *rid,
rle->res = rman_reserve_resource(&sc->ec_mem_rman,
start, end, count, flags, child);
if (rle->res != NULL) {
- rman_set_bustag(rle->res, &econa_bs_tag);
+ rman_set_bustag(rle->res, arm_base_bs_tag);
rman_set_bushandle(rle->res, start);
}
break;
diff --git a/sys/arm/cavium/cns11xx/files.econa b/sys/arm/cavium/cns11xx/files.econa
index c69895a..14d9151 100644
--- a/sys/arm/cavium/cns11xx/files.econa
+++ b/sys/arm/cavium/cns11xx/files.econa
@@ -6,6 +6,7 @@ arm/cavium/cns11xx/timer.c standard
arm/cavium/cns11xx/uart_bus_ec.c optional uart
arm/cavium/cns11xx/uart_cpu_ec.c optional uart
dev/uart/uart_dev_ns8250.c optional uart
+arm/arm/bus_space_base.c standard
arm/arm/bus_space_generic.c standard
arm/cavium/cns11xx/ehci_ebus.c optional ehci
arm/cavium/cns11xx/ohci_ec.c optional ohci
OpenPOWER on IntegriCloud