xref: /netbsd-src/sys/arch/pmax/ibus/ibusvar.h (revision a0640b2b5856e0c9ff740e0a3fe46562414bed91)
1*a0640b2bSmatt /*	$NetBSD: ibusvar.h,v 1.20 2011/07/09 17:32:29 matt Exp $	*/
2d4a24f85Sjonathan 
3ba79e0aaSad #ifndef _PMAX_IBUS_IBUSVAR_H_
4ba79e0aaSad #define _PMAX_IBUS_IBUSVAR_H_
5d4a24f85Sjonathan 
6*a0640b2bSmatt #include <sys/bus.h>
76335e6c1Snisimura 
8d4a24f85Sjonathan struct ibus_attach_args;
9d4a24f85Sjonathan 
10d4a24f85Sjonathan /*
116335e6c1Snisimura  * Arguments used to attach an ibus "device" to its parent
12d4a24f85Sjonathan  */
13d4a24f85Sjonathan struct ibus_dev_attach_args {
14dab18ce2Snisimura 	const char *ida_busname;		/* XXX should be common */
15dab18ce2Snisimura 	bus_space_tag_t	ida_memt;
16dab18ce2Snisimura 
17dab18ce2Snisimura 	int	ida_ndevs;
18dab18ce2Snisimura 	struct ibus_attach_args	*ida_devs;
19d4a24f85Sjonathan };
20d4a24f85Sjonathan 
21d4a24f85Sjonathan /*
22d4a24f85Sjonathan  * Arguments used to attach devices to an ibus
23d4a24f85Sjonathan  */
24d4a24f85Sjonathan struct ibus_attach_args {
25582e9de2Snisimura 	const char *ia_name;		/* device name */
265e124f3aSmatt 	intptr_t ia_cookie;		/* device cookie */
275e124f3aSmatt 	bus_addr_t ia_addr;		/* device address (KSEG1) */
285e124f3aSmatt 	bus_size_t ia_basz;		/* badaddr() size */
29d4a24f85Sjonathan };
30d4a24f85Sjonathan 
315e124f3aSmatt void	ibusattach(device_t, device_t, void *);
3202cdf4d2Sdsl int	ibusprint(void *, const char *);
335e124f3aSmatt void	ibus_intr_establish(device_t, void *cookie, int level,
3402cdf4d2Sdsl 	    int (*handler)(void *), void *arg);
35d4a24f85Sjonathan 
36ba79e0aaSad #endif	/* !_PMAX_IBUS_IBUSVAR_H_ */
37