ibusvar.h revision 1.2.2.2 1 /* $NetBSD: ibusvar.h,v 1.2.2.2 1999/03/15 02:00:45 nisimura Exp $ */
2
3 #ifndef __IBUSVAR_H
4 #define __IBUSVAR_H
5
6 /*
7 * Arguments used to attach devices to an ibus
8 */
9 struct ibus_attach_args {
10 char *ia_name; /* Device name. */
11 u_int32_t ia_addr; /* Device address. */
12 void *ia_cookie; /* Device cookie */
13 };
14
15 /*
16 * Arguments used to attach a ibus "device" to its parent
17 */
18 struct ibus_dev_attach_args {
19 const char *ibd_busname; /* XXX should be common */
20 #ifdef notyet
21 bus_space_tag_t iba_memt;
22 #endif
23 void (*ibd_establish)
24 __P((struct device *, void *, int, int (*)(void *), void *));
25 void (*ibd_disestablish) __P((struct device *, void *));
26 int ibd_ndevs;
27 struct ibus_attach_args *ibd_devs;
28 };
29
30 struct ibus_softc {
31 struct device ibd_dev;
32 int ibd_ndevs;
33 struct ibus_attach_args *ibd_devs;
34 void (*ibd_establish)
35 __P((struct device *, void *, int, int (*)(void *), void *));
36 void (*ibd_disestablish) __P((struct device *, void *));
37 };
38
39 void ibus_devattach __P((struct device *, void *));
40
41 /*
42 * interrrupt estalish functions.
43 * These call up to system-specific code to
44 * recompute spl levels.
45 */
46 void ibus_intr_establish
47 __P((struct device *, void *, int, int (*)(void *), void *));
48 void ibus_intr_disestablish __P((struct device *, void *));
49
50 #endif /* __IBUSVAR_H */
51