ibusvar.h revision 1.11 1 1.11 thorpej /* $NetBSD: ibusvar.h,v 1.11 1999/11/24 00:04:06 thorpej Exp $ */
2 1.1 jonathan
3 1.7 nisimura #ifndef _IBUSVAR_H_
4 1.7 nisimura #define _IBUSVAR_H_ 1
5 1.1 jonathan
6 1.7 nisimura #include <machine/bus.h>
7 1.5 nisimura
8 1.1 jonathan struct ibus_attach_args;
9 1.1 jonathan
10 1.7 nisimura struct ibus_softc {
11 1.7 nisimura struct device sc_dev;
12 1.7 nisimura
13 1.7 nisimura void (*sc_intr_establish) __P((struct device *, void *,
14 1.7 nisimura int, int (*)(void *), void *));
15 1.7 nisimura void (*sc_intr_disestablish) __P((struct device *, void *));
16 1.7 nisimura };
17 1.1 jonathan
18 1.6 simonb /*
19 1.5 nisimura * Arguments used to attach an ibus "device" to its parent
20 1.1 jonathan */
21 1.1 jonathan struct ibus_dev_attach_args {
22 1.7 nisimura const char *ida_busname; /* XXX should be common */
23 1.7 nisimura bus_space_tag_t ida_memt;
24 1.7 nisimura
25 1.7 nisimura int ida_ndevs;
26 1.7 nisimura struct ibus_attach_args *ida_devs;
27 1.7 nisimura void (*ida_establish) __P((struct device *, void *,
28 1.7 nisimura int, int (*)(void *), void *));
29 1.7 nisimura void (*ida_disestablish) __P((struct device *, void *));
30 1.1 jonathan };
31 1.1 jonathan
32 1.1 jonathan /*
33 1.1 jonathan * Arguments used to attach devices to an ibus
34 1.1 jonathan */
35 1.1 jonathan struct ibus_attach_args {
36 1.10 thorpej const char *ia_name; /* Device name. */
37 1.3 jonathan int ia_cookie; /* Device slot (table entry). */
38 1.10 thorpej u_int32_t ia_addr; /* Device address (KSEG1). */
39 1.11 thorpej int ia_basz; /* badaddr() size */
40 1.1 jonathan };
41 1.1 jonathan
42 1.7 nisimura void ibusattach __P((struct device *, struct device *, void *));
43 1.7 nisimura int ibusprint __P((void *, const char *));
44 1.7 nisimura void ibus_intr_establish __P((struct device *, void * cookie, int level,
45 1.7 nisimura int (*handler)(void *), void *arg));
46 1.7 nisimura void ibus_intr_disestablish __P((struct device *, void *));
47 1.1 jonathan
48 1.7 nisimura int badaddr __P((void *, u_int));
49 1.8 nisimura
50 1.9 simonb void dec_3100_intr_establish __P((struct device *, void *,
51 1.9 simonb int, int (*)(void *), void *));
52 1.9 simonb void dec_3100_intr_disestablish __P((struct device *, void *));
53 1.8 nisimura
54 1.8 nisimura void dec_5100_intr_establish __P((struct device *, void *,
55 1.8 nisimura int, int (*)(void *), void *));
56 1.8 nisimura void dec_5100_intr_disestablish __P((struct device *, void *));
57 1.1 jonathan
58 1.7 nisimura #endif /* _IBUSVAR_H_ */
59