diff options
Diffstat (limited to 'sys/dev/ex/if_exvar.h')
| -rw-r--r-- | sys/dev/ex/if_exvar.h | 51 |
1 files changed, 39 insertions, 12 deletions
diff --git a/sys/dev/ex/if_exvar.h b/sys/dev/ex/if_exvar.h index 2f94c4112864..6427f1fcd494 100644 --- a/sys/dev/ex/if_exvar.h +++ b/sys/dev/ex/if_exvar.h @@ -40,7 +40,8 @@ struct ex_softc { int irq_rid; void * ih; - u_int iobase; /* I/O base address. */ + bus_space_tag_t bst; + bus_space_handle_t bsh; u_short irq_no; /* IRQ number. */ char * irq2ee; /* irq <-> internal */ @@ -74,17 +75,43 @@ extern u_char ee2irqmap[]; extern char plus_irq2eemap[]; extern u_char plus_ee2irqmap[]; -int ex_alloc_resources (device_t); -void ex_release_resources (device_t); -int ex_attach (device_t); -int ex_detach (device_t); +int ex_alloc_resources(device_t); +void ex_release_resources(device_t); +int ex_attach(device_t); +int ex_detach(device_t); driver_intr_t ex_intr; -u_int16_t eeprom_read (u_int32_t, int); - -int look_for_card (u_int32_t); -void ex_get_address (u_int32_t, u_char *); -int ex_card_type (u_char *); - -void ex_stop (struct ex_softc *); +u_int16_t ex_eeprom_read(struct ex_softc *, int); +void ex_get_address(struct ex_softc *, u_char *); +int ex_card_type(u_char *); + +void ex_stop(struct ex_softc *); + +#define CSR_READ_1(sc, off) (bus_space_read_1((sc)->bst, (sc)->bsh, off)) +#define CSR_READ_2(sc, off) (bus_space_read_2((sc)->bst, (sc)->bsh, off)) +#define CSR_WRITE_1(sc, off, val) \ + bus_space_write_1((sc)->bst, (sc)->bsh, off, val) +#define CSR_WRITE_2(sc, off, val) \ + bus_space_write_2((sc)->bst, (sc)->bsh, off, val) +#define CSR_WRITE_MULTI_1(sc, off, addr, count) \ + bus_space_write_multi_1((sc)->bst, (sc)->bsh, off, addr, count) +#define CSR_WRITE_MULTI_2(sc, off, addr, count) \ + bus_space_write_multi_2((sc)->bst, (sc)->bsh, off, addr, count) +#define CSR_WRITE_MULTI_4(sc, off, addr, count) \ + bus_space_write_multi_4((sc)->bst, (sc)->bsh, off, addr, count) +#define CSR_READ_MULTI_1(sc, off, addr, count) \ + bus_space_read_multi_1((sc)->bst, (sc)->bsh, off, addr, count) +#define CSR_READ_MULTI_2(sc, off, addr, count) \ + bus_space_read_multi_2((sc)->bst, (sc)->bsh, off, addr, count) +#define CSR_READ_MULTI_4(sc, off, addr, count) \ + bus_space_read_multi_4((sc)->bst, (sc)->bsh, off, addr, count) + +#define EX_LOCK(_sc) mtx_lock(&(_sc)->sc_mtx) +#define EX_UNLOCK(_sc) mtx_unlock(&(_sc)->sc_mtx) +#define EX_LOCK_INIT(_sc) \ + mtx_init(&_sc->sc_mtx, device_get_nameunit(_sc->dev), \ + MTX_NETWORK_LOCK, MTX_DEF) +#define EX_LOCK_DESTORY(_sc) mtx_destroy(&_sc->sc_mtx); +#define EX_ASSERT_LOCKED(_sc) mtx_assert(&_sc->sc_mtx, MA_OWNED); +#define EX_ASSERT_UNLOCKED(_sc) mtx_assert(&_sc->sc_mtx, MA_NOTOWNED); |
