1 /* $OpenBSD: silivar.h,v 1.5 2007/04/07 05:59:49 dlg Exp $ */
2
3 /*
4 * Copyright (c) 2007 David Gwynne <dlg@openbsd.org>
5 *
6 * Permission to use, copy, modify, and distribute this software for any
7 * purpose with or without fee is hereby granted, provided that the above
8 * copyright notice and this permission notice appear in all copies.
9 *
10 * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
11 * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
12 * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
13 * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
14 * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
15 * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
16 * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
17 */
18
19 #define sizeofa(_a) (sizeof(_a) / sizeof((_a)[0]))
20
21 struct sili_port;
22
23 struct sili_softc {
24 struct device sc_dev;
25
26 bus_dma_tag_t sc_dmat;
27
28 bus_space_tag_t sc_iot_global;
29 bus_space_handle_t sc_ioh_global;
30 bus_size_t sc_ios_global;
31
32 bus_space_tag_t sc_iot_port;
33 bus_space_handle_t sc_ioh_port;
34 bus_size_t sc_ios_port;
35
36 u_int sc_nports;
37 struct sili_port *sc_ports;
38
39 struct atascsi *sc_atascsi;
40 };
41 #define DEVNAME(_sc) ((_sc)->sc_dev.dv_xname)
42
43 int sili_attach(struct sili_softc *);
44 int sili_detach(struct sili_softc *, int);
45
46 int sili_intr(void *);