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