1 /* $NetBSD: ebusvar.h,v 1.1 2011/01/26 01:18:50 pooka Exp $ */ 2 3 #ifndef _EMIPS_EBUS_EBUSVAR_H_ 4 #define _EMIPS_EBUS_EBUSVAR_H_ 5 6 #include <machine/bus.h> 7 8 struct ebus_attach_args; 9 10 struct ebus_softc { 11 struct device sc_dev; 12 }; 13 14 /* 15 * Arguments used to attach an ebus "device" to its parent 16 */ 17 struct ebus_dev_attach_args { 18 const char *ida_busname; /* XXX should be common */ 19 bus_space_tag_t ida_memt; 20 21 int ida_ndevs; 22 struct ebus_attach_args *ida_devs; 23 }; 24 25 /* 26 * Arguments used to attach devices to an ebus 27 */ 28 struct ebus_attach_args { 29 const char *ia_name; /* device name */ 30 int ia_cookie; /* device cookie */ 31 u_int32_t ia_paddr; /* device address (PHYSICAL) */ 32 void *ia_vaddr; /* device address (VIRTUAL) */ 33 int ia_basz; /* device size (for min regset at probe, else 0) */ 34 }; 35 36 void ebusattach (struct device *, struct device *, void *); 37 int ebusprint (void *, const char *); 38 void ebus_intr_establish (struct device *, void * cookie, int level, 39 int (*handler)(void *, void *), void *arg); 40 41 #endif /* !_EMIPS_EBUS_EBUSVAR_H_ */ 42