xref: /openbsd-src/sys/dev/ic/silivar.h (revision eea4c4024677a715c027e0ca94ceb35a915077c6)
1*eea4c402Skettenis /*	$OpenBSD: silivar.h,v 1.7 2010/08/05 20:21:36 kettenis Exp $ */
2298da292Sdlg 
3298da292Sdlg /*
4298da292Sdlg  * Copyright (c) 2007 David Gwynne <dlg@openbsd.org>
5298da292Sdlg  *
6298da292Sdlg  * Permission to use, copy, modify, and distribute this software for any
7298da292Sdlg  * purpose with or without fee is hereby granted, provided that the above
8298da292Sdlg  * copyright notice and this permission notice appear in all copies.
9298da292Sdlg  *
10298da292Sdlg  * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
11298da292Sdlg  * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
12298da292Sdlg  * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
13298da292Sdlg  * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
14298da292Sdlg  * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
15298da292Sdlg  * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
16298da292Sdlg  * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
17298da292Sdlg  */
18298da292Sdlg 
19a051fd0bSdlg struct sili_port;
20a051fd0bSdlg 
21298da292Sdlg struct sili_softc {
22298da292Sdlg 	struct device		sc_dev;
23298da292Sdlg 
24298da292Sdlg 	bus_dma_tag_t		sc_dmat;
25e293bf9eSdlg 
26e293bf9eSdlg 	bus_space_tag_t		sc_iot_global;
27e293bf9eSdlg 	bus_space_handle_t	sc_ioh_global;
28e293bf9eSdlg 	bus_size_t		sc_ios_global;
29e293bf9eSdlg 
30e293bf9eSdlg 	bus_space_tag_t		sc_iot_port;
31e293bf9eSdlg 	bus_space_handle_t	sc_ioh_port;
32e293bf9eSdlg 	bus_size_t		sc_ios_port;
33a051fd0bSdlg 
34a051fd0bSdlg 	u_int			sc_nports;
35a051fd0bSdlg 	struct sili_port	*sc_ports;
36a051fd0bSdlg 
37d1a4de97Sdlg 	struct atascsi		*sc_atascsi;
38298da292Sdlg };
39298da292Sdlg #define DEVNAME(_sc)	((_sc)->sc_dev.dv_xname)
40298da292Sdlg 
41298da292Sdlg int	sili_attach(struct sili_softc *);
42298da292Sdlg int	sili_detach(struct sili_softc *, int);
43298da292Sdlg 
44*eea4c402Skettenis void	sili_resume(struct sili_softc *);
45*eea4c402Skettenis 
46298da292Sdlg int	sili_intr(void *);
47